首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ImportError:无法从部分初始化模块'gi‘导入名称'_gi’(很可能是因为循环导入)

ImportError:无法从部分初始化模块'gi‘导入名称'_gi’(很可能是因为循环导入)
EN

Stack Overflow用户
提问于 2020-01-21 09:45:22
回答 7查看 31.5K关注 0票数 21

看起来,当我想切换到python3.8时,我已经中断了我的python安装。使用Ubuntu 18.04。尝试使用gi时,会出现以下错误:

代码语言:javascript
运行
复制
$ python
Python 3.8.1 (default, Dec 31 2019, 18:42:42) 
[GCC 7.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
 >>> from gi.repository import GLib, Gio
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
    from . import _gi
ImportError: cannot import name '_gi' from partially initialized module 'gi' (most likely due to a circular import) (/usr/lib/python3/dist-packages/gi/__init__.py)

尝试为python运行update--但它告诉我,配置了一个python选项(3.8)。

试图重新安装python3-gi和python3.8。仍然是同样的问题

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2020-07-09 01:47:51

我也有过同样的问题。我把python3链接到python3.6,对我来说,它指向3.8个。解决了这个问题。

代码语言:javascript
运行
复制
cd /usr/bin/
rm python3
ln -s python3.6 python3

仅此而已。现在我的系统开始正常工作了。

票数 22
EN

Stack Overflow用户

发布于 2020-02-22 13:40:40

然后,安装gi for python3.8:python3.8 -m pip install pgi,而不是使用import gi

代码语言:javascript
运行
复制
import pgi
pgi.install_as_gi()
from gi.repository import GLib, Gio

或者,您可以强制为python3.8安装PyGObject:

sudo python3.8 -m pip install --ignore-installed PyGObject

这应该允许您像以前一样使用from gi import ...

票数 19
EN

Stack Overflow用户

发布于 2021-12-06 20:21:41

对我来说,解决办法是创建一个符号链接:

代码语言:javascript
运行
复制
cd /usr/lib/python3/dist-packages/gi/
sudo ln -s _gi.so _gi.cpython-38-x86_64-linux-gnu.so

它帮我解决了问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59838238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档