Kivy: ํŒŒ์ด์ฌ 3.8, 3.9 ์ง€์›

์— ๋งŒ๋“  2020๋…„ 04์›” 01์ผ  ยท  25์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kivy/kivy

๊ธฐ๋Šฅ ์š”์ฒญ์ด ๋ฌธ์ œ์™€ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๊นŒ?
Kivy๋Š” ๋‚˜์—๊ฒŒ ๋„ˆ๋ฌด ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” python 3.8 ๋ฐ 3.9์— ๋Œ€ํ•œ ํœ ์ด ์—†๋‹ค๋Š” ๊ฒƒ์— ์ขŒ์ ˆํ–ˆ์Šต๋‹ˆ๋‹ค.

์›ํ•˜๋Š” ์†”๋ฃจ์…˜ ์„ค๋ช…
python3.8 ๋ฐ 3.9 ํœ ์„ pip์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ๋ คํ•œ ๋Œ€์•ˆ์„ ๊ธฐ์ˆ ํ•˜์‹ญ์‹œ์˜ค.
์—†์Œ

์ถ”๊ฐ€ ์ปจํ…์ŠคํŠธ
์—†์Œ

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

๋ถˆํ–‰ํžˆ๋„ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•œ python 3.8์šฉ ํœ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋” ์ด์ƒ ์ƒ์„ฑํ•  ํ•ญ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋งˆ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ 3.8์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ข‹์€ ํœ ์ด ์žˆ์œผ๋ฉฐ ์‹ค์ œ๋กœ ์„ค์น˜๊ฐ€ ์ƒ๋‹นํžˆ ๋‹จ์ˆœํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ 2๋‹จ๊ณ„ ์—์„œ pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ pypi์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ kivy๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

pypi์— ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์นด๋“œ์— ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

ํ˜ธ๊ธฐ์‹ฌ์— ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด python 3.8์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

์–ด, ์‹œ๋„ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๐Ÿ˜„

๋ถˆํ–‰ํžˆ๋„ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•œ python 3.8์šฉ ํœ ์ด ์—†์Šต๋‹ˆ๋‹ค. ์‹œ๋„ํ–ˆ์ง€๋งŒ ๋” ์ด์ƒ ์ƒ์„ฑํ•  ํ•ญ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋งˆ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ 3.8์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ข‹์€ ํœ ์ด ์žˆ์œผ๋ฉฐ ์‹ค์ œ๋กœ ์„ค์น˜๊ฐ€ ์ƒ๋‹นํžˆ ๋‹จ์ˆœํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๊ฒƒ์€ 2๋‹จ๊ณ„ ์—์„œ pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/ ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ pypi์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์—์„œ kivy๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

pypi์— ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์ƒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์นด๋“œ์— ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@matham ์‹ ์ œํ’ˆ ์ถœ์‹œ๋ฅผ

ํ˜„์žฌ ๋ถ€์กฑํ•œ ๊ฐœ๋ฐœ์ž์˜ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ.

๊ทธ๋ž˜์„œ ๊ทธ๊ฒƒ์„ ๊ณ ์น˜๋Š” ๋ฐฉ๋ฒ•

๋ˆ„๊ตฐ๊ฐ€ ์—ฌ์ „ํžˆ Windows ์šด์˜ ์ฒด์ œ์—์„œ Python 3.8 ์šฉ Kivy ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด https://www.lfd.uci.edu/~gohlke/pythonlibs/ ์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ Kivy๋ฅผ ์ฐพ์„ ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. Kivyโ€‘1.11.1โ€‘cp38โ€‘cp38โ€‘win_amd64.whl .. python 3.8, Windows OS x64๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

pip install Kivyโ€‘1.11.1โ€‘cp38โ€‘cp38โ€‘win_amd64.whl (์˜ˆ์ œ)

pip install kivy [๊ธฐ๋ณธ] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/

๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ, ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์ง€๊ธˆ์€ 10์›”์ž…๋‹ˆ๋‹ค. Python 3.8์šฉ Kivy์˜ ํœ  ์„ค์น˜ ์ธก๋ฉด์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?
์ €๋Š” Ubuntu 20.04๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๋ฉฐ ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์†”๋ฃจ์…˜์ด ์ €์—๊ฒŒ ํšจ๊ณผ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. W10 ์ „์šฉ์ด๊ธฐ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ pip3 install kivy ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

```
ERROR: Dependency for context.pyx not resolved: config.pxi
ERROR: Dependency for compiler.pyx not resolved: config.pxi
ERROR: Dependency for context_instructions.pyx not resolved: config.pxi
ERROR: Dependency for fbo.pyx not resolved: config.pxi
ERROR: Dependency for gl_instructions.pyx not resolved: config.pxi
ERROR: Dependency for instructions.pyx not resolved: config.pxi
ERROR: Dependency for opengl.pyx not resolved: config.pxi
ERROR: Dependency for opengl_utils.pyx not resolved: config.pxi
ERROR: Dependency for shader.pyx not resolved: config.pxi
ERROR: Dependency for stencil_instructions.pyx not resolved: config.pxi
ERROR: Dependency for scissor_instructions.pyx not resolved: config.pxi
ERROR: Dependency for texture.pyx not resolved: config.pxi
ERROR: Dependency for vbo.pyx not resolved: config.pxi
ERROR: Dependency for vertex.pyx not resolved: config.pxi
ERROR: Dependency for vertex_instructions.pyx not resolved: config.pxi
ERROR: Dependency for cgl.pyx not resolved: config.pxi
ERROR: Dependency for cgl_mock.pyx not resolved: config.pxi
ERROR: Dependency for cgl_gl.pyx not resolved: config.pxi
ERROR: Dependency for cgl_glew.pyx not resolved: config.pxi
ERROR: Dependency for cgl_sdl2.pyx not resolved: config.pxi
ERROR: Dependency for svg.pyx not resolved: config.pxi
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

```
๋‹น๋ถ„๊ฐ„ ์ €๋Š” Python 3.6์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํฐ ์ฐจ์ด๋ฅผ ๋ณด์ด์ง„ ์•Š์„ ๊ฒƒ ๊ฐ™์•„์š”.

Kivy์˜ ์ž ์žฌ์ ์ธ ์‹ ๊ทœ ์ด๋ฏผ์ž๋กœ์„œ, ์ €๋Š” ์ด๋Ÿฌํ•œ ์ง€์› ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ์ •๋ง ์ง€๊ฒน์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๋ฅผ ๋งž์ดํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๊นŒ? ๋ช…๋ฐฑํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” pip install kivy ์ด๊ณ  ๊ทธ ๋‹ค์Œ์—๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋ฅผ ์‚ดํŽด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ์ฃผ์š” ์šด์˜ ์ฒด์ œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค
https://kivy.org/doc/stable/philosophy.html

๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ๋ฒ„์ „(Ubuntu LTS์™€ ๊ฐ™์€)์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ถ€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋‘ ๊ฐœ์ธ์ ์ธ ์‹œ๊ฐ„์— ์—ฌ๊ธฐ์—์„œ ์„ ์˜๋กœ ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์€ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ํ•  ์ผ์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

Kivy๋Š” Ubuntu 20.04์—์„œ ์ ˆ๋Œ€์ ์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ ๋ฌธ์„œ๋Š” ์ด๋ฅผ ๋ฐ˜์˜ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gabriel<strong i="7">@gryphon</strong>:~> docker run -it ubuntu:20.04 bash
root<strong i="8">@6599fa0c0d81</strong>:/# apt update
Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
[โ€ฆ]
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.
root<strong i="9">@6599fa0c0d81</strong>:/# apt install python3.8 python3-pip -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
[โ€ฆ]
done.
root<strong i="10">@6599fa0c0d81</strong>:/# python3.8 -m pip install --pre kivy[full]
Collecting kivy[all]
  Downloading Kivy-2.0.0rc3-cp38-cp38-manylinux2010_x86_64.whl (22.0 MB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 22.0 MB 13 kB/s 
  WARNING: kivy 2.0.0rc3 does not provide the extra 'all'
Collecting pygments
  Downloading Pygments-2.7.1-py3-none-any.whl (944 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 944 kB 5.6 MB/s 
Collecting docutils
  Downloading docutils-0.16-py2.py3-none-any.whl (548 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 548 kB 5.1 MB/s 
Collecting Kivy-Garden>=0.1.4
  Downloading kivy-garden-0.1.4.tar.gz (6.8 kB)
Collecting requests
  Downloading requests-2.24.0-py2.py3-none-any.whl (61 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 61 kB 459 kB/s 
Collecting chardet<4,>=3.0.2
  Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 133 kB 9.6 MB/s 
Collecting certifi>=2017.4.17
  Downloading certifi-2020.6.20-py2.py3-none-any.whl (156 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 156 kB 13.4 MB/s 
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
  Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 127 kB 5.0 MB/s 
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ| 58 kB 5.6 MB/s 
Building wheels for collected packages: Kivy-Garden
  Building wheel for Kivy-Garden (setup.py) ... done
  Created wheel for Kivy-Garden: filename=Kivy_Garden-0.1.4-py3-none-any.whl size=4531 sha256=40c7f88731f91c2bb078133980911f6b7a9415ac1398a2eb65a16ed605b468c7
  Stored in directory: /root/.cache/pip/wheels/d2/72/1a/9ddd17f00755707937caa350616965fb3330a6270425f397e6
Successfully built Kivy-Garden
Installing collected packages: pygments, docutils, chardet, certifi, urllib3, idna, requests, Kivy-Garden, kivy
Successfully installed Kivy-Garden-0.1.4 certifi-2020.6.20 chardet-3.0.4 docutils-0.16 idna-2.10 kivy-2.0.0rc3 pygments-2.7.1 requests-2.24.0 urllib3-1.25.10
root<strong i="11">@6599fa0c0d81</strong>:/# python3.8
Python 3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import kivy
[WARNING] [Config      ] Older configuration version detected (0 instead of 21)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in /root/.kivy/logs/kivy_20-10-08_0.txt
[INFO   ] [Kivy        ] v2.0.0rc3, git-20c14b2, 20200615
[INFO   ] [Kivy        ] Installed at "/usr/local/lib/python3.8/dist-packages/kivy/__init__.py"
[INFO   ] [Python      ] v3.8.5 (default, Jul 28 2020, 12:59:40) 
[GCC 9.3.0]
[INFO   ] [Python      ] Interpreter at "/usr/bin/python3.8"
>>> 

๊ณ ๋ง™๊ณ  ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. Kivy๋Š” ์ •๋ง ์œ ๋งํ•ด ๋ณด์˜€์ง€๋งŒ ์„ค์น˜๋ฅผ ํ•ด๋ณด๋‹ˆ ๊ท€์ฐฎ์€ ์ผ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ๊ธฐํšŒ๋ฅผ ์ค„ ๊ฒƒ์ด๊ณ  ๋งˆ์Œ์— ๋“ค๋ฉด ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์„ ํ™•์‹คํžˆ ๊ณ ๋ คํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, Python 3.8์ด ์„ค์น˜๋œ ์ปจํ…Œ์ด๋„ˆ์— Kivy๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ๋ฐœ๊ฒฌํ•œ ์ฐจ์ด์ ์€ --pre ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ํŠธ๋ฆญ์„ํ–ˆ๋‹ค. ํ”Œ๋ž˜๊ทธ ์—†์ด๋Š” ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋„์›€๋ง ํŽ˜์ด์ง€๋Š” ํ”Œ๋ž˜๊ทธ์— ๋Œ€ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•ฉ๋‹ˆ๋‹ค.

--pre Include pre-release and development versions. By default, pip only finds stable versions.

์œ„์˜ 4์›” ๋Œ“๊ธ€์—๋Š” ์ด๋ฏธ pre ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ์ง€์นจ์€ ๋ช‡ ๋‹ฌ ์ „์— ์‚ฌ์ „ ๋ฒ„์ „์„ pypi์— ์—…๋กœ๋“œํ•˜๊ธฐ ์ „์—๋„ ์ž‘๋™ํ–ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ž ์žฌ์ ์ธ ์‹ ๊ทœ ์‚ฌ์šฉ์ž(์ € ํฌํ•จ)๋ฅผ ๊ฒ์ฃผ๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ์ €์˜ ์šฐ๋ ค๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์„œ์˜ ์„ค์น˜ ์„น์…˜์— --pre ํ”Œ๋ž˜๊ทธ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ข‹๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹Python 3.8์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๋Š” ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์—†์Œ์„ ๊ฐ•์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์™„๋ฒฝํ•œ ์†”๋ฃจ์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋‚ด ์˜๊ฒฌ์€ @codinghedgehog-python์— ๋Œ€ํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ฌธ์ œ๋ฅผ ๋ณธ ํ›„ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์—ฌ๊ธฐ์ €๊ธฐ์„œ ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ kivy==2.0.0rc3 ์€ Python 3.8 ์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด๊ฒƒ์ด Android(Python 3.8 ์‚ฌ์šฉ)์—์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ์˜ ๋ฆด๋ฆฌ์Šค ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

Kivy 1.11.1 ์„ค์น˜ ๋ฌธ์„œ์—์„œ ๋ˆ„๋ฝ๋œ ๊ฒƒ์€ (ํฐ ์นœ์ˆ™ํ•œ ๊ธ€์ž๋กœ) "Python 3.7 ONLY"์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ์˜ ์ฃผ์š” ์–ด๋ ค์›€์€ ์•ˆ์ •์ ์ธ ๋ฌธ์„œ๋ฅผ ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(CI์—์„œ ๋” ์ด์ƒ ๋นŒ๋“œํ•˜์ง€ ์•Š์Œ). ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๊ฐ€ ํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๋งˆ์Šคํ„ฐ ๋ฌธ์„œ์— ๋Œ€ํ•œ ๋งํฌ๋กœ ์ฒซ ํŽ˜์ด์ง€๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ํ•œ ์ด ์ •๋ณด๋ฅผ ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” (์•ˆ์ •๋œ) ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋ฏธ๋ž˜์— ์•ˆ์ •์ ์ธ ๋ฌธ์„œ๋ฅผ ๋ฆด๋ฆฌ์Šคํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋ฌธ์„œ์— ๋ฐ”ํ€ด๊ฐ€ ์ง€์›๋˜๋Š” ์ตœ๋Œ€ ํŒŒ์ด์ฌ ๋ฒ„์ „์„ ํ‘œ์‹œํ•ด์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•Œ์ง€๋งŒ Kivy๋Š” ๋ฒ„๋ ค์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Python 3.9์— ์„ค์น˜ํ•˜๋ ค๋Š” ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ 2.0.0์„ ๋ฆด๋ฆฌ์Šคํ•˜๊ณ  ๋ฆด๋ฆฌ์Šค ์‹œ ์™„๋ฒฝํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๋ฐ›์•„๋“ค์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

kivy๊ฐ€ 3-4๋…„ ์ „๋ณด๋‹ค ์ฝ”์–ด ๊ฐœ๋ฐœ์ž์˜ ํ™œ๋™์ด ์ ์€ ๊ฒƒ์€ ์‚ฌ์‹ค์ด์ง€๋งŒ, ์‚ฌ๋žŒ๋“ค์ด ์–ด๋–ค ์ด์œ ๋กœ ๋“œ๋‚˜๋“œ๋Š” ์˜คํ”ˆ ์†Œ์Šค์˜ ํŠน์„ฑ์ด๋ฉฐ ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ์•ฝ๊ฐ„์˜ ์ €์ ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์›น์‚ฌ์ดํŠธ, ๊ตฌ์ฒด์ ์œผ๋กœ kivy๋Š” 5๋…„ ์ •๋„ ๋™์•ˆ ๋Œ€๋Œ€์ ์ธ ์›น์‚ฌ์ดํŠธ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ํ•„์š”ํ–ˆ์ง€๋งŒ ์ง€๊ธˆ๊นŒ์ง€ ์•„๋ฌด๋„ ๊ทธ๊ฒƒ์„ ์ง€์ผœ๋ณธ ์‚ฌ๋žŒ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์†Œํ•œ ์‚ฌ์—…์ด ์•„๋‹Œ๊ฐ€ ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ณ„ํš์€ https://github.com/kivy/kivy/pull/7132 ์—์„œ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ํœ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ฆ‰์‹œ 2.0.0์„ ๋ฆด๋ฆฌ์Šคํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ๋“ฑ์„ ํ†ตํ•ด ์ž‘์—…ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ 1๋…„์— ํ•œ ๋ฒˆ ๋ฆด๋ฆฌ์Šคํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค ์ดํ›„ ์•ฝ 1๋…„์ด ์ง€๋‚ฌ์Šต๋‹ˆ๋‹ค. python์€ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋ฅผ 1๋…„์— ํ•œ ๋ฒˆ์œผ๋กœ ๋Š˜๋ ธ์œผ๋ฏ€๋กœ 3.9๊ฐ€ ๋ฆด๋ฆฌ์Šค๋œ ๊ฒƒ์ฒ˜๋Ÿผ 3.8์— ๋Œ€ํ•œ ํœ ์ด ์—†์Šต๋‹ˆ๋‹ค.

@janek37 python(๋ฐ javascript) ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  ์ข…์†์„ฑ์„ ์ฆ‰์‹œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ๊ธฐ, ๊ตฌ์‹์œผ๋กœ ์„ ์–ธํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋‚˜๋Š” API ์•ˆ์ •์„ฑ์„ ์„ ํ˜ธํ•˜๊ณ  ์ตœ์‹  ์ข…์†์„ฑ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํšŒ๊ท€๋ฅผ ํ”ผํ•ฉ๋‹ˆ๋‹ค. Kivy๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณต์žกํ•œ ๋ถ€๋ถ„์ด๋ฉฐ ์•ˆ์ •์„ฑ ๋ถ„์•ผ์—์„œ kivy ๊ฐœ๋ฐœ์ž๋Š” ์˜ค๋žซ๋™์•ˆ ์•„์ฃผ ์ข‹์€ ์ผ์„ ํ•ด์™”์Šต๋‹ˆ๋‹ค.

Kivy ํ•ต์‹ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ Canonical, Facebook ๋˜๋Š” Microsoft์™€ ๊ฐ™์€ ์ž๊ธˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ณ ๋ คํ•˜๋ฉด ๊ทธ๋“ค์€ ๊ฝค ์ž˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒ€์›๋“ค๋กœ๋ถ€ํ„ฐ Discord ๋ฐ Stack Overflow์— ๋Œ€ํ•œ ์ƒ๋‹นํ•œ ์ง€์›์„ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ ์ €๊ฒƒ์ด ๋•Œ๋•Œ๋กœ ์ฆ‰์‹œ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ์ถ”๊ฐ€ ์กฐ์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์˜คํ”ˆ ์†Œ์Šค์ด๊ณ  ์ธ๋ ฅ์ด ๋น„์Œ‰๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Kivy๋Š” ์—ฌ์ „ํžˆ ๊ฐ€์žฅ ์„ฑ์ˆ™ํ•œ GUI ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐ„์ฃผ๋˜๋ฏ€๋กœ ์ด์— ๋Œ€ํ•œ ์ฐฌ์‚ฌ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋‚˜๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์•˜์ง€๋งŒ Kivy์™€ ๊ทธ ๊ฐœ๋ฐœ์ž๋“ค์€ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฉ์ฒญํ•œ ๋†ˆ์€ ๊ทธ๊ฒƒ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์„ค์น˜๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๊ฒฝํ—˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ์ˆ™๋ จ๋œ ์‚ฌ์šฉ์ž๋Š” ํ˜„์žฌ ๋ฒ„์ „์˜ Python์„ ์œ„ํ—˜ ์‹ ํ˜ธ๋กœ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด Python 3.9๋Š” Python์„ ์›€์ง์ด๋Š” ๋Œ€์ƒ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์‹œ์ž‘ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ํ•ด๊ฒฐ๋  ๋•Œ๊นŒ์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋นˆ๋ฒˆํ•œ ์œ ์ง€ ๊ด€๋ฆฌ ๋ฆด๋ฆฌ์Šค(๋ฌธ์„œ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋ฆด๋ฆฌ์Šค)๊ฐ€ ๋„์›€์ด ๋ ๊นŒ์š”?

์œ ์ง€ ๊ด€๋ฆฌ ๋ฆด๋ฆฌ์Šค๋Š” ์ด์ œ 2.0.0 ๋’ค์—์„œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€๊นŒ์šด ์žฅ๋ž˜์— Python 3.9๋ฅผ ์ง€์›ํ•˜๋Š” 2.0.1์„ ์˜๋ฏธํ•˜๋”๋ผ๋„ ๋ฆด๋ฆฌ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋‹ค๋ฅธ os์— ๋Œ€ํ•œ ๋ฐ”ํ€ด๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์„ค์น˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. kivy deps๋ฅผ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋“ฑ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๊ถŒ์žฅ ์„ค์น˜๊ฐ€ ๋น„๋ก pip install kivy ๋กœ ๋ฒ ์–ด ์„ค์น˜๋กœ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. pip install kivy[base] ๋˜๋Š” pip install kivy[full] . ๋”ฐ๋ผ์„œ ์ƒˆ ๋ฆด๋ฆฌ์Šค๋กœ ์„ค์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ์ฃผ์š” ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ๋ฐ”ํ€ด๊ฐ€ ์žˆ๊ณ  ์œ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ์ด์ œ ์•ˆ์ •ํ™”๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3.9๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ง€๊ธˆ ์ถœ์‹œํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•˜์—ฌ, ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ์ง€๊ธˆ ๋ง‰๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šคํ•˜๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋ฉฐ ๋ฆด๋ฆฌ์Šค ๋…ธํŠธ ์ปดํŒŒ์ผ, conda, apt ๋“ฑ๊ณผ ๊ฐ™์€ ๋ชจ๋“  OS์—์„œ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ์ค€๋น„๊ฐ€ ๋˜๋ฉด 3.9 ํœ ๋„ ์ค€๋น„๋˜์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

pip install kivy[base] kivy_examples --pre --extra-index-url https://kivy.org/downloads/simple/

์ด๊ฒƒ์€ ๋‚ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค

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