我试图运行 pushbullet 的指标,但没有成功。我尝试通过终端运行,结果发现 python3 无法导入 gi
bin > python3 pushbullet-indicator
Traceback (most recent call last):
File "pushbullet-indicator", line 26, in <module>
import gi
ImportError: No module named 'gi'
bin >
尝试手动导入。
~ > python3
Python 3.4.1 (default, Sep 27 2014, 09:00:29)
[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'
>>>
但不知为何 Python2 可以?
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
>>>
我已安装 Anaconda。我正尝试在系统安装的 python3 上导入 gi。我希望这是正确的术语。python3-gi 已安装。
更奇怪的是,我可以运行 indicator-cpufreq
你们有什么想法或建议吗?谢谢大家的帮助!
答案1
系统范围内安装的 python 包可能不适用于安装在 anaconda 目录中的 python 版本。
尝试使用系统解释器的完整路径来加载脚本:
$ /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
>>>
答案2
有些包gi
在安装后不存在于 conda 环境目录中,而是存在于系统的 Python 目录中。您可以使用conda-forge
安装包,以便直接从 conda Python 3 环境中运行它。
conda install -c conda-forge pygobject
答案3
禁用您的 conda 环境。我告诉它添加到 bashrc,但随后进行了环境变量修改并将其分解为 ~/bin 中的脚本“enable_conda”。