在Ubuntu上的venv中安装kivy



我正在尝试安装kivy。根据本指南,我使用了以下命令:

$ python3 -m venv my_kivy_project
$ cd my_kivy_project
$ source bin/activate
$ python -m pip install kivy

这个安装失败了,所以我找到了这个Ubuntu指南。我又做了一遍,第一步(根据指南(是

$ python -m pip install --upgrade --user pip setuptools virtualenv

它又失败了。(

为kivy 构建轮子失败

(

所以,我想尝试Nightly wheel installation,但链接已断开(Error 404 not found(所以,我想试试PPA之后:$ sudo add-apt-repository ppa:kivy-team/kivy

我有这个错误

Traceback (most recent call last):
File "/usr/bin/add-apt-repository", line 11, in <module>
from softwareproperties.SoftwareProperties import SoftwareProperties, shortcut_handler
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 67, in <module>
from gi.repository import Gio
File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
from . import _gi
ImportError: cannot import name '_gi' from 'gi' (/usr/lib/python3/dist-packages/gi/__init__.py)

你能帮我在Linux(Ubuntu 18.04(上安装吗?现在我使用的是Python 3.7(但我也尝试过3.8(。kivy的安装在全球范围内都有效,但我需要在venv中安装它。我不想从源代码手动安装kivy。

Kivy在安装pip时是从C源代码构建的,它需要编译器、Python头和mesa(OpenGL(头。不幸的是,他们网站上的文档在这种情况下没有太大帮助。这些软件包足以让它在一台干净的Ubuntu 18.04机器上运行:

$ apt update
$ apt install python3 python3-venv python3-pip python3-dev build-essential libgl1-mesa-dev

然后你可以

$ python3 -m venv my_kivy_project
$ cd my_kivy_project
$ source bin/activate
(my_kivy_project) $ pip install kivy

仍将打印

"Failed building wheel for kivy"

但现在已经安装了kivy——你并不需要wheel来使用它:

(my_kivy_project) $ pip freeze | grep Kivy
Kivy==1.11.1
Kivy-Garden==0.1.4
(my_kivy_project) $ python
>>> import kivy
[INFO   ] [Logger      ] Record log in …/.kivy/logs/kivy_20-10-12_2.txt
[INFO   ] [Kivy        ] v1.11.1
[INFO   ] [Kivy        ] Installed at "…/site-packages/kivy/__init__.py"
…

如果你出于某种原因需要轮子,或者只是想摆脱消息,安装wheel包,然后重新安装kivy就可以了:

(my_kivy_project) $ pip install wheel
(my_kivy_project) $ pip install --ignore-installed kivy

最新更新