ImportError: 找不到名为 gi.repository 的模块
我正在尝试在Ubuntu 10.04上运行一个Python脚本:
from gi.repository import Nautilus, GObject
但是它没有成功:
Traceback (most recent call last):
File "script.py", line 1, in <module>
from gi.repository import Nautilus, GObject
ImportError: No module named gi.repository
我安装了 python-gobject-dev
、python-gobject
和 python-nautilus
,但这些都没有解决问题。
有没有人遇到过这个问题?
8 个回答
2
你需要安装 pygobject 和 pygobject3(这里的3是指gtk的版本,而不是python的版本)。
如果你在使用Mac电脑:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
这条命令是用来安装最新版本的Homebrew,一个包管理工具。brew install pygobject
这条命令用来安装pygobject。brew install pygobject3
这条命令用来安装pygobject3。mkdir -p /Users/abhijit/Library/Python/2.7/lib/python/site-packages
这条命令是检查并创建一个目录,如果这个目录不存在的话。echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/abhijit/Library/Python/2.7/lib/python/site-packages/homebrew.pth
这条命令是在你的python的Site-packages中创建一个指向homebrew路径的快捷方式。
3
Anaconda 通常会提供适合你操作系统(比如Mac或旧版Ubuntu)的Python软件包。根据@Abhijit的说法,你需要 pygobject
。它的工作方式和 pip
很相似:
conda install -c auto pygobject
4
sudo apt-get install -y python-gobject
在Ubuntu 18.04上我解决了这个问题。
4
我试过@hob给的Anaconda的解决办法,但没用。不过我用conda install -c conda-forge pygobject
这个命令就成功了。
10
试着通过安装 PyGObject 来解决这个问题:
# With Apt on Ubuntu:
$ sudo apt install python3-gi
# With Yum on CentOS / RHEL:
$ sudo yum install python36-gobject.x86_64
# Or directly with Pip:
$ pip3 install PyGObject