mkvirtualenv kivy
或者按官方教程所说:
virtualenv --no-site-packages kivyinstall
(kivy)~/pythonvenv ᐅ pip list pip (1.5.6) setuptools (5.5.1)
首先安装cython
(kivy)~/pythonvenv ᐅ pip install cython==0.21.2
然后安装kivy
(kivy)~/pythonvenv ᐅ pip install kivy
出现这个错误提示:
In file included from /tmp/pip-build-n2t8k7om/kivy/kivy/graphics/compiler.c:236:0: /tmp/pip-build-n2t8k7om/kivy/kivy/graphics/gl_redirect.h:38:22: fatal error: GL/gl.h: 没有那个文件或目录 # include <GL/gl.h> ^ compilation terminated. warning: build_py: byte-compiling is disabled, skipping. error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
解决办法:
ᐅ sudo apt-get install mesa-common-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包: libdrm-dev 下列【新】软件包将被安装: libdrm-dev mesa-common-dev 升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。 需要下载 0 B/499 kB 的软件包。 解压缩后会消耗掉 2,997 kB 的额外空间。 您希望继续执行吗? [Y/n]
安装后再次运行 pip install kivy 一切正常了。
(kivy)~/pythonvenv ᐅ pip list Cython (0.21.2) Kivy (1.9.0) Kivy-Garden (0.1.1) pip (1.5.6) requests (2.8.1) setuptools (5.5.1)
如果 pip install kivy 后出现
/usr/bin/ld: cannot find -lGL
这个错误,那么安装 libgl1-mesa-dev :
sudo apt-get install libgl1-mesa-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包: libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-xext-dev x11proto-xf86vidmode-dev 建议安装的软件包: libxext-doc 下列【新】软件包将被安装: libgl1-mesa-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxdamage-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-xext-dev x11proto-xf86vidmode-dev 升级了 0 个软件包,新安装了 22 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。 需要下载 847 kB 的软件包。 解压缩后会消耗掉 3,811 kB 的额外空间。 您希望继续执行吗? [Y/n]
当安装完pygame后运行自己写的 kivy.py 文件时也许会出现这个问题:
python File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked AttributeError: 'module' object has no attribute '__path__'
发现原来是文件名写成了kivy!注意不能和kivy同名,改个名字即可。
--End--