繁体   English   中英

导入错误:没有名为 gi.repository 的模块

[英]ImportError: No module named 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-devpython-gobjectpython-nautilus ,但没有帮助。 有人遇到过这个问题吗?

尝试通过安装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  
sudo apt-get install -y python-gobject

在 Ubuntu 18.04 上为我修复了它。

conda install -c conda-forge pygobject对 Anaconda 的回答对我不起作用,但conda install -c conda-forge pygobject确实适用。

10.04? 那是 GNOME 3 之前的版本,因此首选的 Python 绑定基于 PyGTK,而不是 PyGObject。 您需要使用(过时的)PyGTK 绑定或升级到更新的操作系统。

Anaconda通常具有适用于您的平台(Mac 或更旧的 Ubuntu)的 python 包二进制文件。 根据@Abhijit,您需要pygobject 它的工作原理很像pip

conda install -c auto pygobject

你需要安装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安装pyobject
  • brew install pygobject3安装 pyobject3
  • mkdir -p /Users/abhijit/Library/Python/2.7/lib/python/site-packages检查并构建sitepath目录,如果它不存在
  • echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/abhijit/Library/Python/2.7/lib/python/site-packages/homebrew.pth 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 站点包到你的自制程序路径

这对我有用(Ubuntu 20.04 LTS):

sudo apt reinstall python3-gi

很简单的。 打开/usr/bin/gnome-terminal,可以看到解释器是python3:

#!/usr/bin/python3

将解释器的路径改为python3.5:

#!/usr/bin/python3.5

在 Ubuntu 16.04 上为我修复了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM