在 virtualenv 中通过 pip 安装 PyGObject

installing PyGObject via pip in virtualenv

我实际上是将旧的 django 应用程序从 python2.7 升级到 python3.4。通过 pip 安装 pygobject 时,出现此错误:

Collecting pygobject
  Using cached pygobject-2.28.3.tar.bz2
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/tmp/pip-build-9dp0wn96/pygobject/setup.py", line 272
        raise SystemExit, 'ERROR: Nothing to do, gio could not be found and is essential.'
                    ^
    SyntaxError: invalid syntax

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-9dp0wn96/pygobject

我正在尝试将它安装在 virtualenv 中。系统范围内的安装也不起作用...我正在使用 python3.4

开发 arch linux

我已经安装了名为 pygobject-devel 3.16.2-1 的 arch 包,但我仍然无法导入 gobject python 模块

这个该死的丢失的 gio 是什么?

欢迎任何帮助... 提前致谢!

答案现在在上面评论中的 POST 标记中!!!! 看看那里 =>

好的,我刚刚做到了!

要在virtualenv中安装PyGObject,放弃pip。

  1. 在系统范围内安装 PyGObject(使用包管理器或手动编译)。例如,在我的例子中:

    sudo pacman -Suy python-gobject2
    
  2. Link 它在你的虚拟环境中:

    ln -s /usr/lib/python3.4/site-packages/gobject* /WHEREVER/IS/YOUR/VIRTUALENV/venv/lib/python3.4/site-packages/
    
  3. 您可能需要 link 一些其他模块(在我的例子中是 glib):

    ln -s /usr/lib/python3.4/site-packages/glib* /WHEREVER/IS/YOUR/VIRTUALENV/venv/lib/python3.4/site-packages/
    

您可能会在此处找到一些有关系统范围和 virtualenv 安装以及模块之间交互的有用信息:

virtualenv: Specifing which packages to use system-wide vs local