【发布时间】:2018-01-21 21:28:11
【问题描述】:
我正在尝试运行以下程序:
import gi
gi.require_version('Gst', '1.0')
from gi.repository import GObject, Gst
我得到了:
Traceback (most recent call last):
File "application.py", line 2, in <module>
import gi
ModuleNotFoundError: No module named 'gi'
我在使用 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
我的 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
如果我尝试卸载 gi 以重新安装它(正如我在 Stack 之前的一些答案中看到的那样),我会得到:
(cv) ✘-1 ~/Documents/test
00:55 $ pip uninstall gi
Cannot uninstall requirement gi, not installed
知道什么可以解决我的问题吗?
【问题讨论】:
-
我的第一个猜测是您使用的是 virtualenv python,但 gi 安装在您的系统目录中。您可以停用您的 virtualenv,尝试启动 python 并导入 gi 吗?如果可行,我们可以想办法。
-
尝试重新创建环境,因为绑定是针对系统 Python 安装的 - 因此它们可能不会反映在您的(旧)环境中。执行
pip freeze > requirements.txt以捕获您已经安装的内容,然后重新创建环境,然后尝试。 -
@NoufalIbrahim 显然是这种情况,因为:10:18 $ python Python 2.7.10(默认,2016 年 7 月 30 日,18:31:42)[GCC 4.2.1 兼容 Apple LLVM 8.0.0 (clang-800.0.34)] on darwin 键入“帮助”、“版权”、“信用”或“许可”以获取更多信息。 >>> 导入 gi >>> gi.require_version('Gst', '1.0')
-
@NoufalIbrahim 任何想法如何进行?
-
@NoufalIbrahim 谢谢 :)
标签: python macos gstreamer pygobject gobject