Kivy: Ubuntu 17.10์—์„œ Kivy๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2017๋…„ 10์›” 24์ผ  ยท  40์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kivy/kivy

๋ฒ„์ „

  • ํŒŒ์ด์ฌ: 2.7 ๋ฐ 3.6
  • ์šด์˜ ์ฒด์ œ: ์šฐ๋ถ„ํˆฌ 17.10
  • ํ‚ค๋น„: 1.10
  • Kivy ์„ค์น˜ ๋ฐฉ๋ฒ•: PPA

์•ˆ๋…•ํ•˜์„ธ์š”,
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

๋˜ํ•œ ํฌ๋Ÿผ์˜ ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์ด ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒช๊ณ  ์žˆ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@Twistx77

python3.6์œผ๋กœ ์ด์ „๊ณผ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ์œ„์˜ ๋ฒ„์ „์—์„œ Cython ๋ฐ python3-kivy๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  pip(apt-get์ด ์•„๋‹˜)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Cython๊ณผ kivy๋ฅผ ๋ชจ๋‘ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์šฐ๋ถ„ํˆฌ 17.10์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

pip3 ์„ค์น˜ Cython==0.23
pip3 ์„ค์น˜ kivy==1.9.1

๋ชจ๋“  40 ๋Œ“๊ธ€

์šฐ๋ถ„ํˆฌ 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 ๋ฒ„์ „ ๊ฐ„์˜ ๋ฌธ์ œ์™€ ์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ฉ€ํ‹ฐ์ƒ˜ํ”Œ๋ง ์ง€์›์„ ๋ณด๊ณ ํ–ˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹ค๋ฅธ ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ ์‚ฌ์šฉ
  • sdl2 ๋ฒ„์ „ ์‚ฌ์šฉ between 2.0.5 and 2.0.6
  • kivy์—์„œ ๋ฉ€ํ‹ฐ์ƒ˜ํ”Œ๋ง ๋น„ํ™œ์„ฑํ™”(~/.kivy/config.ini๋ฅผ ํŽธ์ง‘ํ•˜๊ณ  ๋ฉ€ํ‹ฐ์ƒ˜ํ”Œ๋ง์„ 0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ)

๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ๋ณด๊ณ ํ•ด ์ฃผ์„ธ์š”. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‹ค๋ฅธ ๋ฒ„๊ทธ์ธ ๊ฒฝ์šฐ ๋ณ„๋„์˜ ๋ฌธ์ œ๋ฅผ ์—ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ๋‘ ๊ฐ€์ง€๋ฅผ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹ค์ค‘ ์ƒ˜ํ”Œ๋ง ๋น„ํ™œ์„ฑํ™” -> ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
  • ๋‹ค๋ฅธ ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ(XFCE4) ์„ค์น˜ -> ๋‘˜ ๋‹ค ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

๋‘˜ ๋‹ค์— ๋Œ€ํ•ด ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” tshirtman๋‹˜

๋„คํฌ๋กค๋ฆฐ์˜ ์˜๊ฒฌ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹ค์ค‘ ์ƒ˜ํ”Œ๋ง ๋น„ํ™œ์„ฑํ™” -> ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
  • ๋‹ค๋ฅธ ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ(Deepin DE) ์„ค์น˜ -> ์ž‘๋™ํ•˜์ง€ ์•Š์Œ

๋˜ํ•œ ๋ฒ„์ „ 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

์œ„์˜ ์ˆ˜์ • ์ž‘์—…์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

  1. apt-get python-kivvy cython ์ œ๊ฑฐ
    (python3์˜ ๊ฒฝ์šฐ python3-kivvy ๋ฐ cython3์ž…๋‹ˆ๋‹ค)
  2. ํ• ์ œ๊ฑฐ ํ‚ค๋น„
  3. ํ• ์ œ๊ฑฐ ์‚ฌ์ด์ฌ
  4. ํ• ์„ค์น˜ cython==0.23
  5. ํ• ์„ค์น˜ kivy==1.9.1

์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

์šฐ๋ถ„ํˆฌ 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/๋ฆฌ๋ˆ…์Šค

์œ„์˜ ์ˆ˜์ • ์ž‘์—…์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

  1. apt-get python-kivvy cython ์ œ๊ฑฐ
    (python3์˜ ๊ฒฝ์šฐ python3-kivvy ๋ฐ cython3์ž…๋‹ˆ๋‹ค)
  2. ํ• ์ œ๊ฑฐ ํ‚ค๋น„
  3. ํ• ์ œ๊ฑฐ ์‚ฌ์ด์ฌ
  4. ํ• ์„ค์น˜ cython==0.23
  5. ํ• ์„ค์น˜ 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 ํ”Œ๋ž˜๊ทธ ๋ž˜ํผ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Œ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰