ModuleNotFoundError:没有名为“ gi”的模块-Python-OsX

Gab*_*lle 4 python macos gobject gstreamer pygobject

我正在尝试运行以下程序:

import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst
Run Code Online (Sandbox Code Playgroud)

我正在得到:

Traceback (most recent call last):
File "application.py", line 2, in <module>
import gi
ModuleNotFoundError: No module named 'gi'
Run Code Online (Sandbox Code Playgroud)

我在使用python3的Mac Sierra(10.12.1(16B2555))中。

我已经安装了pygoject和gtk + 3(可以在这里看到):

(cv) ? ~/Documents/test 
00:53 $ brew install pygobject3 --with-python3 gtk+3
Warning: pygobject3 3.24.1_1 is already installed
Warning: gtk+3 3.22.18 is already installed
Run Code Online (Sandbox Code Playgroud)

我的python来自我的virtualenv:

(cv) ?-1 ~/Documents/test 
00:53 $ which python
/Users/myuser/.virtualenvs/cv/bin/python


(cv) ? ~/Documents/test 
00:54 $ python --version
Python 3.6.1
Run Code Online (Sandbox Code Playgroud)

如果我尝试卸载gi来重新安装它(如我在Stack先前的一些回答中所见),我将得到:

(cv) ?-1 ~/Documents/test 
00:55 $ pip uninstall gi
Cannot uninstall requirement gi, not installed
Run Code Online (Sandbox Code Playgroud)

有什么想法可以解决我的问题吗?

提前致谢

Gab*_*lle 6

就我而言,如@NoufalIbrahim所指出的那样,该软件包安装在系统目录中,但未安装在virtualenv中。

我通过执行以下方法解决了该问题:

export PYTHONPATH=/usr/local/lib/python3.6/site-packages
Run Code Online (Sandbox Code Playgroud)


Edo*_*ati 5

我个人解决了跑步

pip install vext
pip install vext.gi
Run Code Online (Sandbox Code Playgroud)

我找到的另一个解决方案

pip install homekit
pip install pygobject
Run Code Online (Sandbox Code Playgroud)

(Debian 用户:您可以将 homekit 替换为sudo apt install libgirepository1.0-dev