์๋
ํ์ธ์,
Ubuntu 17.10์ kivy๋ฅผ ์ค์นํ๋๋ฐ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋๋ ๋ง์ ๊ฒ์ ์๋ํ๋ค.
์ ๋ Python 2์ 3, ๊ทธ๋ฆฌ๊ณ ๊ฐ์ ๋จธ์ ์์๋ ์๋ํ์ต๋๋ค.
์ด ๊ฐ๋จํ ์ฑ์ผ๋ก:
kivy.app ๊ฐ์ ธ์ค๊ธฐ ์ฑ์์
์ฑ().์คํ()
๋๋ ์ป๋ค:
[์ ๋ณด] [๋ก๊ฑฐ] /home/twistx77/.kivy/logs/kivy_17-10-21_1.txt์ ๋ก๊ทธ์ธ ๊ธฐ๋ก
[์ ๋ณด] [ํค๋น] v1.10.0
[์ ๋ณด] [ํ์ด์ฌ] v3.6.3(๊ธฐ๋ณธ๊ฐ, 2017๋
10์ 3์ผ, 21:45:48)
[GCC 7.2.0]
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "/home/twistx77/temp/test.py", 2ํ,
kivy.app ๊ฐ์ ธ์ค๊ธฐ ์ฑ์์
ํ์ผ "/usr/lib/python3/dist-packages/kivy/app.py", ๋ผ์ธ 319,
kivy.base import runTouchApp, stopTouchApp์์
ํ์ผ "/usr/lib/python3/dist-packages/kivy/base.py", 30ํ,
kivy.event ๊ฐ์ ธ์ค๊ธฐ EventDispatcher์์
ํ์ผ "/usr/lib/python3/dist-packages/kivy/event.py", 8ํ,
์์
kivy._event
ImportError: /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so: ์ ์๋์ง ์์ ๊ธฐํธ: PyFPE_jbuf
๋ํ ํฌ๋ผ์ ์ผ๋ถ ์ฌ๋๋ค์ด ๋์ผํ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์์ ํ์ธํ์ต๋๋ค.
์ฐ๋ถํฌ 17.10 + kivy 1.10์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Kivy 1.9.1 + python 2.7.14๋ ๋ชจ๋ ๋ค๋ฅธ ์ค๋ฅ๊ฐ ์์ต๋๋ค. ์ด ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 4 (X_DestroyWindow)
Resource id in failed request: 0x0
Serial number of failed request: 165
Current serial number in output stream: 166
์๋ฃจ์
๋ถํ๋๋ฆฝ๋๋ค.
์ฐธ๊ณ ๋ก Opensuse Tumbleweed๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. Kivy๋ ์คํ๋์ง ์์ต๋๋ค.
๋ ์ญ์ python 2.7.14, kivy 1.10.0 ๋ฐ ubuntu 17.10์์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
Ubuntu 16.04 ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด์ง๋ง Kivy๋ ์๋ํฉ๋๋ค!!
:-(
์ฝ๋์๋ฆฌ ์ด๋ฃจํฐFrancesco Cerone
์ ํ
2017-10-29 11:30 GMT+01:00 ๋ง์ปค์ค ํด๋ผ์ธ ์๋ฆผ @github.com :
๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kivy/kivy/issues/5453#issuecomment-340252026 ๋๋ ์์๊ฑฐ
์ค๋ ๋
https://github.com/notifications/unsubscribe-auth/ALEI4VflNryMejJk8G34CBD--GnDkCyOks5sxFPTgaJpZM4QE60X
.
๋์ผํ ๋ฌธ์ ๊ฐ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ์์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
์ค๋ช
: ์ฐ๋ถํฌ 17.10
์ถ์: 17.10
python3-kivy/artful,now 1.10.0-0~stable0+201708191146~pkg175~ubuntu17.10.1 amd64 [installed]
python3-kivy-bin/artful,now 1.10.0-0~stable0+201708191146~pkg175~ubuntu17.10.1 amd64 [installed,automatic]
python3-kivy-common/artful,now 1.10.0-0~stable0+201708191146~pkg175~ubuntu17.10.1 amd64 [installed,automatic]
Ubuntu 17.10๊ณผ ํจ๊ป ์ ๊ณต๋๋ Kivy ๋ฒ์ 1.9.1๋ก ๋ค์ ์ ํํ์ต๋๋ค. ๋ํ ๋์คํ๋ ์ด ์๋ฒ๋ฅผ Wayland์์ Xorg๋ก ๋ค์ ์ ํํด์ผ ํ์ต๋๋ค. Wayland๋ฅผ ์ฌ์ฉํ ๋ Kivy๋ Raspberry Pi์ฉ egl-rpi ๋๋ผ์ด๋ฒ๋ก ์คํ์ ์๋ํ๋๋ฐ, ์ด๋ ์ผ๋ฐ amd64 ๋ฐ์คํฌํ์์๋ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๊ฐ๋จํ kivy ์์ (3D ๋ ๋๋ง)๋ฅผ ์คํํ๋ ค๊ณ ํ ๋๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํค๋น๊ฐ ์๋ํ์ง ์์ต๋๋ค
์ฐ๋ถํฌ ๋ฒ์ : 17.10
[INFO ] [Logger ] /home/susheel/.kivy/logs/kivy_17-11-01_7.txt์ ๋ก๊ทธ์ธ ๊ธฐ๋ก
[์ ๋ณด] [ํค๋น] v1.10.0
[์ ๋ณด] [ํ์ด์ฌ] v2.7.14 (๊ธฐ๋ณธ๊ฐ, 2017๋
9์ 23์ผ, 22:06:14)
[GCC 7.2.0]
์ญ์ถ์ (๊ฐ์ฅ ์ต๊ทผ ํธ์ถ ๋ง์ง๋ง):
ํ์ผ "main.py", 15ํ,
kivy.app ๊ฐ์ ธ์ค๊ธฐ ์ฑ์์
ํ์ผ "/usr/lib/python2.7/dist-packages/kivy/app.py", 319ํ,
kivy.base import runTouchApp, stopTouchApp์์
ํ์ผ "/usr/lib/python2.7/dist-packages/kivy/base.py", 30ํ,
kivy.event ๊ฐ์ ธ์ค๊ธฐ EventDispatcher์์
ํ์ผ "/usr/lib/python2.7/dist-packages/kivy/event.py", 8ํ,
์์
kivy._event
ImportError: /usr/lib/python2.7/dist-packages/kivy/_event.x86_64-linux-gnu.so: ์ ์๋์ง ์์ ๊ธฐํธ: PyFPE_jbuf
์ฌ๊ธฐ ๊ฐ์ ๋ฌธ์
irc์ parabolize
์ฌ์ฉ์๊ฐ gnome ๋ฐ์คํฌํ๊ณผ sdl2 ๋ฒ์ ๊ฐ์ ๋ฌธ์ ์ ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ๋ ๋ฉํฐ์ํ๋ง ์ง์์ ๋ณด๊ณ ํ์ผ๋ฉฐ ์ด๋ฌํ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ํ๋๊ฐ ์๋ํด์ผ ํฉ๋๋ค.
between 2.0.5 and 2.0.6
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ๋ณด๊ณ ํด ์ฃผ์ธ์. ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ๋ฒ๊ทธ์ธ ๊ฒฝ์ฐ ๋ณ๋์ ๋ฌธ์ ๋ฅผ ์ด์ด์ผ ํฉ๋๋ค.
์์ ๋ ๊ฐ์ง๋ฅผ ์๋ํ์ต๋๋ค.
๋ ๋ค์ ๋ํด ๋์ผํ ์ค๋ฅ๊ฐ ๋ณด๊ณ ๋์์ต๋๋ค.
์๋ ํ์ธ์ tshirtman๋
๋คํฌ๋กค๋ฆฐ์ ์๊ฒฌ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ํ ๋ฒ์ 2.06์์ ํจํค์ง libsdl2-dev๋ฅผ ์ค์นํ๋ ค๊ณ ์๋ํ์ง๋ง ์๋ํ์ง ์์ต๋๋ค.
๊ทธ๋์ ๋ ๋๋ค์ ์ข๋ค์ ใ ใ
๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ์ ๋๋ค. ์ง์ ์จ #5476
Ubuntu 17.10์์ ๋ค์ค ์ํ ์ 0์ผ๋ก ์ ํํ๋ ๊ฒ์ด ํจ๊ณผ๊ฐ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ์ด์ ์ wayland๋ฅผ ๋ ์ ์ด ์์ง๋ง _config.ini_ ์ต์ ์ ๋ณ๊ฒฝํ๊ธฐ ์ ์ ์ค๋ฅ๊ฐ ์์๊ธฐ ๋๋ฌธ์ ์ฐจ์ด๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
@rroa ์ ๋ง ํฅ๋ฏธ
๋ค์ ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ํ๋๋ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ๊ฐ์ ธ์ค๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ๋ค๋ฅธ ํ๋๋ ์ง์๋์ง ์๋ ์ค์ (์: gnome์ ๋ค์ค ์ํ๋ง)๊ณผ ๊ด๋ จ๋ sdl2 ๋ฌธ์ ์ ๋๋ค. Twistx77๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฌธ์ ๋ฅผ ๋ ผ์ํ ์ ์๋ ์ฌ๋ฐ๋ฅธ ์์น์ ์๋ ๊ฒ์ ๋๋ค. Tchayo์ ๊ฐ์ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ #5476 ๋ฌธ์ ๋ก ์ด๋ํ์ญ์์ค.
๋ฌธ์ # 5476์ ๋ํ ํฌ๋ฌผ์ ํ๋ก ์๋ฃจ์ ์ด ์ฐ๋ถํฌ 17.10์ kivy 1.9.1 ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์ง ํ์ธํฉ๋๋ค.
๋ด๊ฐ ์ดํดํ์ง ๋ชปํ๋ ๊ฒ์ ๋์ผํ ๋ฒ์ ์ ๋์ผํ ๋ฐฐํฌํ์ด ์ผ๋ถ ์ปดํจํฐ์์๋ sdl2 ๋ฌธ์ ๊ฐ ์๊ณ ๋ค๋ฅธ ์ปดํจํฐ์์๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ผ์ด๋ฒ๋ ๋ญ๊ฐ ๊ด๋ จ์ด ์์ต๋๊น? ๋ ๊ธฐ๊ณ๊ฐ ๋๊ฐ์ ์ํํธ์จ์ด๋ก ์๋ํ์ง ์์ต๋๊น?
sdl2๋ฅผ ์
๊ทธ๋ ์ด๋ํ๊ฑฐ๋ ๋ค์ด๊ทธ๋ ์ด๋ํ์ง ์์์ต๋๋ค.
kivy์์ ๋ฉํฐ์ํ๋ง ๋นํ์ฑํ(~/.kivy/config.ini๋ฅผ ํธ์งํ๊ณ ๋ฉํฐ์ํ๋ง์ 0์ผ๋ก ์ค์ ํ์ฌ ์ํํ ์ ์์)
์๋ํ๊ธฐ ๋๋ฌธ์ ๋ฉํฐ์ํ๋ง์ด ๋ฌธ์ ์ผ ์ ์์ต๋๋ค!!!?!
์ฐธ๊ณ : ์ด๊ฒ์ kivy 1.9.1..๋ฌธ์ #5476์ ๋ํด์๋ง ์๋ํฉ๋๋ค.
Kivy๊ฐ Pygame์์ SDL2๋ก ์ด๋ํ ์ดํ ๋ง์ ๊ฒฝ์ฐ ๋ฉํฐ์ํ๋ง์ด ์ค๋จ๋์์ผ๋ฉฐ Kivy์์ ์ง๊ธ๊น์ง ๋ฌธ์ ๋ฅผ ์๋ณํ ์ ์์์ผ๋ฉฐ SDL2์ ์ ์คํธ๋ฆผ ๋ฒ๊ทธ์ผ ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด https://github.com/kivy/kivy/issues/3576 ์ ์ฐธ์กฐ
๋ํ Pygame์ 8๋ก ์ค์ ํ ๋ฉํฐ์ํ๋ง์ด ์๋ํ๊ณ ๊ฐ์์ ์ธ ํจ๊ณผ๊ฐ ์์์ง๋ง SDL2์ ๋์ผํ ํ๊ฒฝ์์ ์๋ํ๋ ์ต๋๊ฐ์ 4์ธ ๊ตฌํ ๊ทธ๋ํฝ ์นด๋์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ์์์ต๋๋ค. kivy v1.9.1์ Ubuntu 17.10์์ ~/.kivy/config.ini ์์ ๋ฉํฐ์ํ๋ง์ด 0์ผ๋ก ์ค์ ๋ Python v2.7.14์์ ์๋ํฉ๋๋ค.
๊ฐ์ฌํฉ๋๋ค @saubhik ์ ์๊ฒ๋ ํจ๊ณผ์ ์ ๋๋ค!
Cython==0.23 ๋ฐ kivy==1.9.1์ ์ค์นํ๊ณ ์๋ํฉ๋๋ค. ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ์ง ์์์ต๋๋ค.
ํ์ํ ์ผ๋ถ ์ข
์์ฑ์ python-kivy๋ฅผ ์ค์น(์๋ํ์ง ์๋ ๋ฒ์ )ํ๋ ๋ฐ ์ฌ์ฉํ์ ๋ apt-get์ ์ํด ์ค์น๋์์ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ Cython๊ณผ python-kivy๋ฅผ ์ ๊ฑฐํ ๋ค์ ์ด์ ์ ์ธ๊ธ๋ ๋ฒ์ (Cython ๋จผ์ )์์ pip๋ก ๋ ๋ค ์ค์นํ์ต๋๋ค.
ํ์ด์ ๋น๋๋ค
1.9.1์ด python 2.7์์ ์ ์๋ํ๋์ง ํ์ธํ ์ ์์ง๋ง 1.10์์์ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋๋ผ๋ 3์์๋ ์๋ํ์ง ์์ต๋๋ค.
๋ฐฉ๊ธ Ubuntu 17.10์ ์๋ก ์ค์นํ๋ ค๊ณ ์๋ํ์ผ๋ฉฐ kivy ์น ์ฌ์ดํธ์์ ์ ๊ณตํ๋ PPA๋ก kivy๋ง ์ค์นํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ค์นํ์ต๋๋ค.
sudo apt-get install python-kivy=1.9.1-1build3
@Twistx77
python3.6์ผ๋ก ์ด์ ๊ณผ ๋์ผํ ์์ ์ ์ํํ์ผ๋ฉฐ ์์ ๋ฒ์ ์์ Cython ๋ฐ python3-kivy๋ฅผ ์ ๊ฑฐํ๊ณ pip(apt-get์ด ์๋)๋ฅผ ์ฌ์ฉํ์ฌ Cython๊ณผ kivy๋ฅผ ๋ชจ๋ ์ค์นํ์ต๋๋ค. ๋๋ ์ฐ๋ถํฌ 17.10์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค
pip3 ์ค์น Cython==0.23
pip3 ์ค์น kivy==1.9.1
๋ด๊ฐ ์ค์นํ ๊ฒ์ธ์ง ์๋๋ฉด ๊ทธ๋ฅ Ubuntu ์ ๋ฐ์ดํธ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ง๊ธ์ ์ด์ ๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํธ์งํ๋ค:
์ฌ๊ธฐ์์ ZenCODE์ ์ง์์ ๋ฐ๋ผ kivy๋ฅผ ์ปดํ์ผํ์ฌ 17.10์์ ์๋ํ๋๋ก ๋ง๋ค์์ต๋๋ค. https://groups.google.com/forum/#!topic/kivy -users/lRLfxp1Sywg
@Twistx77 ๊ฐ์ ํ๊ฒฝ(v1.9.1)์ pip๋ฅผ ํตํด ์ค์นํ๋๋ฐ ์์คํ ์ด ์์ ํ ์ต์ ์ํ์ธ ๊ฒฝ์ฐ์๋ ์ฌ์ ํ ์ ๋๋ก ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์๊ธฐ ์๋์ ๋ฉ์ถ ๊ฒฝ์ฐ ์ปดํจํฐ์์ ์ด ๋ฒ๊ทธ๋ฅผ ์ผ์ผํค๋ ์ผ์ข ์ ์ถฉ๋์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ปดํ์ผํ ๋ ๋ฒ์ 1.10์ด ์๋ํ๋๋ก ๊ด๋ฆฌํ์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด ์ ๋ ํ๋ฒ ํด๋ณด๊ฒ ์ต๋๋ค. ์ง๋ ์ฃผ์ ์ปดํ์ผ์ ์๋ํ์ง๋ง(ZenCODE ์๋ฃจ์ ์ ๋ถ๋ช ํ ์ฌ์ฉํ์ง ์์) ์ปดํ์ผ์ ์คํจํ์ต๋๋ค.
์๋์ผ๋ก ์ค์นํ๊ณ ์ด์ ํ์ด ๊ฒ์ ๋ ๋๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ kivy๋ฅผ ์๋ํ๊ฒ ํ์ต๋๋ค. ๋ด๊ฐ ์๊ฐํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ.
ํ์ด์ฌ 2.7.14 ๋ฐ kivy 1.10.0์ ์นผ๋ฆฌ ๋น์ Twistx77 ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค
BartoszCki ์๋ฃจ์ ์ ๋ฐ๋ผ ์๋ํ์ต๋๋ค.
Ubuntu 17.10์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ค๋ฅ:
/Layouts, custom widgets and attributes/stack/stack.py"
Purge log fired. Analysing...
Purge finished!
[INFO ] [Logger ] Record log in /home/geistic/.kivy/logs/kivy_18-02-11_88.txt
[INFO ] [Kivy ] v1.10.0
[INFO ] [Python ] v3.6.3 (default, Oct 3 2017, 21:45:48)
[GCC 7.2.0]
/usr/bin/python3 "/home/geistic/Programming/python/Kivy/Layouts, custom widgets and attributes/stack/stack.py"
Traceback (most recent call last):
File "/home/geistic/Programming/python/Kivy/Layouts, custom widgets and attributes/stack/stack.py", line 4, in <module>
from kivy.app import App
File "/usr/lib/python3/dist-packages/kivy/app.py", line 319, in <module>
from kivy.base import runTouchApp, stopTouchApp
File "/usr/lib/python3/dist-packages/kivy/base.py", line 30, in <module>
from kivy.event import EventDispatcher
File "/usr/lib/python3/dist-packages/kivy/event.py", line 8, in <module>
import kivy._event
ImportError: /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf
@BartoszCki ์๋ฃจ์ ํ์ ๋ชจ๋ ๊ฒ์ด ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ธํ ์ ์์ต๋๋ค. ๊ณต์ ์ฐ๋ถํฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ค์น๋ฅผ ์๋ํ ํ kivy์์ ์ค์น๋ฅผ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค.
๋ชจ๋ ์ ๊ฑฐ:
sudo apt-get remove --purge python3-kivy
sudo pip3 uninstall cython kivy
sudo apt autoremove
๊ทธ ๋ค์์:
sudo pip3 install Cython==0.23
sudo pip3 install kivy==1.9.1
__Python 3.6.3(๊ธฐ๋ณธ๊ฐ, 2017๋ 10์ 3์ผ, 21:45:48)__์์ ์๋ํฉ๋๋ค.
๋๋ ์ฐ๋ถํฌ 17.10์์ ์ด๊ฒ์ ์คํํ๊ณ ์์ง๋ง RecycleView ๋๋ฌธ์ Kivy 1.10์ ์์กดํฉ๋๋ค. SDL2 ๋์ PyGame์ ๊ฐ์ ์คํํ๋ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์ต๋๊น? ๊ทธ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊น์?
ํด๊ฒฐ์ฑ ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น? ์ ๋ง ์ฐ๋ถํฌ 17.10์์ kivy๋ฅผ ์ฌ์ฉํด์ผํฉ๋๊น?
์ด๊ฒ์ ํ์ธํ์ญ์์ค: https://groups.google.com/forum/#!topic/kivy -users/lRLfxp1Sywg
์ด๊ฒ์ ๋ถ๋ถ์ ์ธ ์๋ฃจ์
์ด๋ฉฐ ํ๋ก๋์
์ ์ ํฉํ์ง ์์ง๋ง ๊ต์ก ๋ชฉ์ ์ผ๋ก ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
PPA๋ฅผ ์ง๊ธ 17.10์์ ์๋ํ์ง ์์ ์ ์์ง๋ง @ 0AlphaZero0, ๋ด๊ฐ ๊ฐ์ ํ๊ฒฝ์ ํตํด ์ค์นํ ์ ์์ด์ (Kivy ์น ์ฌ์ดํธ์ ๋ํ ์ง์นจ ์ฐธ์กฐ).
Ubuntu 18.04์์ ์๋ํ๋๋ก ์์ค ์ด์์์์ Kivy๋ฅผ ๋น๋ํ๊ณ ์ค์นํ๋ ค๋ฉด ๋ฌธ์์์ ์ด ๊ฐ์ด๋๋ฅผ ๋ฐ๋ฅด์ธ์.
Ubuntu 17.10 ๋ฐ Ubuntu 18.04 ๋ชจ๋ ํ์ฌ(2018๋ 5์) ๊ถ์ฅ ์ฌํญ์ ์ผ์ผ PPA ์์ ์ค์นํ๋ ๊ฒ์ ๋๋ค. @OBKF๊ฐ ๋งํ๋ฏ์ด ์์ค์์ ๋น๋๋ ์๋ํฉ๋๋ค.
์์ ์ฃผ์์๋ ์ด๋ฏธ ์ธ๊ธ๋์ด ์์ต๋๋ค. ๋ค์ ๋งํ์ง๋ง Ubuntu 17.10์๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ~/.kivy/config.ini
์์ ํ๋์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์ข
์์ฑ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค.
[graphics]
...
multisamples = 0
์์ ์์ ์์ ์ด ํ์ธ๋์์ต๋๋ค!
์๋ํฉ๋๋ค!
์ฐ๋ถํฌ 16.04.02
ํ์ด์ฌ 2.7.11
ํ 10.0.1
์ฌ์ดํค 0.23
ํค๋น 1.9.1
๋ฐ๋น์ ์คํ์ PPA์์ ์ค์นํ๋ฉด ๋๋๋ฐ ์์ ์๋ฌ("undefined symbol: PyFPE_jbuf")๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๊ฒ์ Ubuntu 17.10 ๋ฐ Debian์์ ํ์ฑํ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋ ์ปดํ์ผ๋ฌ ํ๋๊ทธ "--with-fpectl"์์ ๊ฐ์ ธ์ต๋๋ค.
pip๋ก kivy๋ฅผ ์ค์นํ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์์
(hello world ์์ ):
[์ ๋ณด] [ํค๋น] v1.10.1
[์ ๋ณด] [ํ์ด์ฌ] v3.6.6 (๊ธฐ๋ณธ๊ฐ, 2018๋
6์ 27์ผ, 14:44:17)
cython3 0.28.4-1 amd64 Python 3์ฉ C ํ์ฅ
๋ฆฌ๋
์ค 4.15.0-3-amd64 #1 SMP ๋ฐ๋น์ 4.15.17-1 (2018-04-19) x86_64 GNU/๋ฆฌ๋
์ค
์์ ์์ ์์ ์ด ํ์ธ๋์์ต๋๋ค!
- apt-get python-kivvy cython ์ ๊ฑฐ
(python3์ ๊ฒฝ์ฐ python3-kivvy ๋ฐ cython3์ ๋๋ค)- ํ ์ ๊ฑฐ ํค๋น
- ํ ์ ๊ฑฐ ์ฌ์ด์ฌ
- ํ ์ค์น cython==0.23
- ํ ์ค์น kivy==1.9.1
์๋ํฉ๋๋ค!
์ฐ๋ถํฌ 16.04.02
ํ์ด์ฌ 2.7.11
ํ 10.0.1
์ฌ์ดํค 0.23
ํค๋น 1.9.1
kivy 1.9.1์ ์ค์นํ ์ ์๊ณ 1.10.1๊ณผ ํจ๊ป ์ฌ์ฉํ์ง๋ง ์ฌ์ ํ ์๋ํ์ต๋๋ค! ๊ฐ์ฌ ํด์!
Debian Buster์์ ๋์ผํ ์ค๋ฅ๋ฅผ ํ์ธํ์ต๋๋ค.
ImportError: /usr/lib/python3/dist-packages/kivy/_event.cpython-36m-x86_64-linux-gnu.so: undefined symbol: PyFPE_jbuf
ํ์ค ์ค์น ์ง์นจ์ด ๋จ์ํ ์๋ํ์ง ์๋๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ๋ ๊ฒ์ ์ฝ๊ฐ ์ค๋ง์ค๋ฝ์ต๋๋ค. ํนํ ๋ฒ๊ทธ๊ฐ 1๋
์ ์ ๋ณด๊ณ ๋์๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ ์ค์น ์ง์นจ์ ํฌ๊ธฐํ๊ณ ์์ ํ ๋ค๋ฅธ ์์
์ ์ํํ๋ ๊ฒ์
๋๋ค. ์ฌ๊ธฐ์์ ์ค์น ์ง์นจ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ ์ ํ์ ์ ์์ต๋๋ค. </rant>
_๋ฌด๋๋ํ๊ฒ ๋งํด์ ์ฃ์กํฉ๋๋ค_
๋๋ ์ด๊ฒ์ด ํฌ์ฅ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์ฝ๋์๋ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ง๋ง *.deb
ํ์ผ๋ก ๋น๋ํ๊ณ ํจํค์งํ๋ ํ๋ก์ธ์ค๊ฐ ์์๋์์ต๋๋ค. ์ด ์ค๋ฅ๋ *.so
์ ๋ค๋ฅธ ๋ฒ์ ์ ์คํ ์ค์ธ ๋ฒ์ ์ผ๋ก ์ปดํ์ผํ์์ ๋ํ๋
๋๋ค.
apt-get
๊ฐ ์๋ํ๋ ๋ฒ์ ์ ์ค์นํ๋ ๋ฐ ์คํจํ๊ณ pip install
๊ฐ ๊ด์ฐฎ๋ค๋ ์ฌ์ค( fath0m์ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ฐธ์กฐ)์ ๋ ๊ฐ์ง _์ ์ ์ ์ธ_ ์ด๋ก ์ผ๋ก ์ด์ด์ง๋๋ค.
apt-get
์ค์ ์ ๋ํด ์๋ํ ๊ฒ์ด๋ผ๋ ์๋ชป๋ ๋ฏฟ์์ผ๋ก pip install
์ค์ ํ๊ฒฝ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.pip install
_(์ฌ๋๋ค์๊ฒ๋ ๋๋ฆ์ ์ด์ ๊ฐ ์์ต๋๋ค)_๋ฅผ ์ฌ์ฉํ๋ ์ ๊ทผ ๋ฐฉ์์ด ๋ง์์ ๋ค์ง ์์ผ๋ฉด pip install
๊ฑด๋๋ฆฌ์ง ์๊ณ ๋ ์์ค์์ kivy๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด python3์ ๊ฒฝ์ฐ:
apt-get install python3
apt-get install cython3
# Results may vary for GL. Find the package with: apt-cache search libgl1 dev
apt-get install libgl1-mesa-dev
apt-get install libgstreamer1.0-dev
apt-get install libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev libsdl2-mixer-dev
# I'm happy to edit in additional dependencies if you find them
git clone https://github.com/kivy/kivy.git
cd kivy python3 setup.py build_ext --inplace
PPA๊ฐ ์ ๋ฐ์ดํธ๋์์ผ๋ฉฐ ์ต์ํ ๊ตฌ์ถํ ์ ์๋ ๋ชจ๋ ์ต์ OS ๋ฒ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋๊ณ ์์ต๋๋ค. 17์ ๋น๋ ์ต์ (https://code.launchpad.net/~kivy-team/+recipe/kivy-stable/)์ผ๋ก ๋์ด๋์ง ์์ ๊ฒ ๊ฐ์์ ์ด์ ๋ํด ์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ํ ์ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
ํ์ค ์ค์น ์ง์นจ์ด ๋จ์ํ ์๋ํ์ง ์๋๋ค๋ ๊ฒ์ ์๊ฒ ๋ ๊ฒ์ ์ฝ๊ฐ ์ค๋ง์ค๋ฝ์ต๋๋ค.
์ด๊ฒ์ ์ปค๋ฎค๋ํฐ ํ๋ก์ ํธ์ด๋ฉฐ ๋ชจ๋ OS ๊ตฌ์ฑ์์ ์ด๋ฅผ ํ ์คํธํ ๋ฆฌ์์ค๊ฐ ์์ต๋๋ค. ๋น๋ ๋ ์ํผ๋ฅผ ์์ ํ๊ธฐ ์ํ ์ปค๋ฎค๋ํฐ์ PR์ ์ธ์ ๋ ํ์ํฉ๋๋ค.
๊ทธ๋งํ ๊ฐ์น๊ฐ ์๊ธฐ ๋๋ฌธ์ Raspbian Stretch์์ Raspbian Buster๋ก ์ ๊ทธ๋ ์ด๋ํ Raspbian ๋ฆฌ๊ทธ์์ ์ด๊ฒ์ ๋ณด๊ณ ์์ต๋๋ค.
๊ธฐ๋ณธ ์ค๋ฅ๋ Cython์ ์ค์ ๋ FECTL ํ๋๊ทธ์ ๊ด๋ จํ์ฌ ์ฌ๊ธฐ ์ ์ค๋ช ์ด๊ฒ์ ๋ด๊ฐ ์ง๊ธ๊น์ง ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง์ ๋ํด ์ฝ์ ์ต๊ณ ์ ์ค๋ช ์ ๋๋ค. ๋ค์ ์ ๋ถ๋ ์์์ ์์ธ ์ ์ด ๋ชจ๋์ ๋ํ ์์ธํ ์ ๋ณด์ ๋๋ค.
์ฐธ๊ณ fpectl ๋ชจ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น๋๋์ง ์์ผ๋ฉฐ ์ฌ์ฉ์ ๊ถ์ฅํ์ง ์์ผ๋ฉฐ ์ ๋ฌธ๊ฐ์ ์์ด ์๋ ๊ฒฝ์ฐ ์ํํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ ํ ์ฌํญ ๋ฐ ์ ํ ์ฌํญ์ ๋ํ ๊ธฐํ ๊ณ ๋ ค ์ฌํญ ์น์ ์ ์ฐธ์กฐํ์ญ์์ค.
๋ฐ๋ผ์ ์ด์ ๋ด ๊ฐ์ ํ๊ฒฝ์ ๋ํด ON/OFF๊ฐ ์ค์ ๋์ด ์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
(oprint) $ python
Python 2.7.16 (default, Apr 6 2019, 01:42:57)
[GCC 8.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import fpectl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named fpectl
์ข์, ๋๋ (์๋ง๋ Cython์) ์ปดํ์ผ ์ค์ ํ๋๊ทธ๊ฐ ํ ๊ธ๋์ง ์์์์ ์ ์ ์๋ค. ๊ธฐ์ ์ ์ผ๋ก ์ฌ๊ธฐ ๋ด ๊ฐ์ ํ๊ฒฝ์์ Cython ์ค์น์ Includes
์๋์ ์๋ cpython
ํด๋์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ๋ถ์ํ๋ ค๋ฉด ์ด ๊ฒฝ์ฐ Kivy 1.10.1์ ๋ฌด์ธ๊ฐ๊ฐ ํด๋น ํ๋๊ทธ๊ฐ ์ผ์ง ์ํ๋ก ์ปดํ์ผ๋์๊ณ ๋ด ์ธ์คํด์ค๋ ๊บผ์ ธ ์๋ค๊ณ ๊ฐ์ ํด์ผ ํฉ๋๋ค. (์ด ์ค๋ฅ์ ๊ด๋ จํ์ฌ ์ธํฐ๋ท์์ ์์ "์์ "์ด๋ผ๊ณ ํ๋ ๋ชจ๋ ๊ฒ์ ํด๋น ํ๋๊ทธ์ ๊ด๋ จํ์ฌ ๋ง์นจ๋ด OFF/OFF ๋๋ ON/ON์ ์ผ์น๋ฅผ ์ฐพ๊ธฐ ์ํ ๋ง์ ์ ์ค, ๋ฌด์์ ์๋์ธ ๊ฒ ๊ฐ์ต๋๋ค. )
์ด์ ์ numpy
๋ฅผ ์ค์นํ๋ ค๊ณ ์๋ํ์ง๋ง ์ด๋ค ์ด์ ๋ก๋ ์๋ํ์ง ์์์ต๋๋ค. ์ด ๋ชจ๋์ ์ํ ์ง์ฝ์ ์ด๊ธฐ ๋๋ฌธ์ ์ด ํ๋๊ทธ๋ฅผ ์ผ๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ฌธ์ ๊ฐ ์ด ๋ชจ๋๊ณผ ๊ด๋ จ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
๋ด ์์ ์ ์ค๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ImportError: /home/pi/oprint/local/lib/python2.7/site-packages/kivy/_event.so: undefined symbol: PyFPE_jbuf
๋ค์ ๋งํด์, cython์ ์ฌ์ฉํ Kivy์ ์ปดํ์ผ ๋จ๊ณ( pip install kivy
), ๋ฐ์ด๋๋ฆฌ ํ์ผ _event.so
์ด์ ํ๋ ์ด์์ ๊ธฐ๋ฅ ์ฃผ์์ FECTL ๋ํผ๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ํ๋๊ทธ๋ ๋ด ์ค์น์ ๋ํด OFF์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด๊ฐ ์ง๋ฉดํ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ค ํ๋๋ pip๊ฐ ์บ์๋ ๋ฒ์ ์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ์ด์ ์ ์ปดํ์ผ๋ ํ ์ ์ฌ์ฌ์ฉํ๋ ค๊ณ ํ๋ค๋ ๊ฒ์ ๋๋ค.
pip uninstall kivy
pip uninstall cython
pip install --force-reinstall --no-cache-dir cython==0.28.2
pip install --force-reinstall --no-cache-dir kivy==1.10.1
๊ฐ์ ํ๊ฒฝ์ site-packages
ํด๋์์ grep -r . -e 'FPE'
๋ฅผ ์คํํ๋ฉด ๋ง์นจ๋ด Kivy ๊ด๋ จ *.so
ํ์ผ์ ์ปดํ์ผ๋ ํ์ผ์ ์ฑ๊ฐ์ fpectl
ํ๋๊ทธ ๋ํผ๊ฐ ํฌํจ๋์ง ์์์ด ํ์๋ฉ๋๋ค. ํ์ผ.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@Twistx77
python3.6์ผ๋ก ์ด์ ๊ณผ ๋์ผํ ์์ ์ ์ํํ์ผ๋ฉฐ ์์ ๋ฒ์ ์์ Cython ๋ฐ python3-kivy๋ฅผ ์ ๊ฑฐํ๊ณ pip(apt-get์ด ์๋)๋ฅผ ์ฌ์ฉํ์ฌ Cython๊ณผ kivy๋ฅผ ๋ชจ๋ ์ค์นํ์ต๋๋ค. ๋๋ ์ฐ๋ถํฌ 17.10์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค
pip3 ์ค์น Cython==0.23
pip3 ์ค์น kivy==1.9.1