我正在跟踪Python GTK+ 3 Tutorial,并试图在virtualenv中运行一个工作安装。我已经通过Ubuntu包管理器安装了python3-gi。事情看起来像这样:
:~$ mkvirtualenv py3 --python=/usr/bin/python3
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in py3/bin/python3
Also creating executable in py3/bin/python
Installing setuptools, pip...python
done.
(py3):~$ python
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'gi'
>>>
(py3):~$ deactivate
:~$ /usr/bin/python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>>
正如您所看到的,python3-gi显然在virtualenv中不可用,但我不确定如何安装它,因为python3-gi是通过我的包管理器安装的,而不是使用pip。
7条答案
按热度按时间amrnrhlw1#
现在可以使用vext解决这个问题。Vext允许您在虚拟环境中安装软件包,这些软件包可以单独访问您的系统软件包。要访问
gi
,请执行以下操作:bq8i3lrv2#
更新2018 - Debian Stretch
1.安装GTK+ 3 / GIR。
1.创建虚拟环境。
1.安装
pygobject
(pycairo
应该作为依赖项)。更新2018 - macOS
1.使用Homebrew安装GTK+ 3和Gobject Introspection。
1.创建并激活虚拟环境。
1.安装
pygobject
(pycairo
应该作为依赖项)。原答复
这就是我在OS X 10.11上的Python 3.5虚拟环境中获得GTK+ 3的方法。
1.使用Homebrew安装GTK+ 3。
1.创建并激活虚拟环境。
1.在虚拟环境中安装pycairo。
1.在虚拟环境中安装pygobject。
1.利润。
Python 3.5从PSF下载并安装。
eulz3vhy3#
我还没有找到一个合适的解决方案。当我遇到无法直接安装到virtualenv中的情况时,我将其符号链接到那里,它工作正常(可能有例外,但这不是其中之一)。
一点也不优雅;看起来比让virtualenv完全访问所有系统包要好(通过
--system-site-packages
)。vawmfj5a4#
pip包的名称有点违反直觉-使用
pip install PyGObject
。piwo6bdm5#
我通过
pip
安装了pgi
,这可能是一个选项。它显然是与PyGObject
兼容API,到目前为止运行Gtk
似乎工作正常。4uqofj5v6#
在Ubuntu(在19.04中测试)上,您可以下载该软件包,然后按如下方式安装:
在Ubuntu中,下载的软件包的名称是
python3-gi_3.32.0-1_amd64.deb
。nafvub8i7#