什么会导致python中缺少“gi”模块?
在Ubuntu中对默认Python版本进行了一些不那么聪明的编辑后,从2.7到3.2,我最终破坏了整个系统。 在我的计算机崩溃并且一切都停止工作后,我试图恢复我的更改(通过将/usr/bin/python2.7链接到/ usr / bin / python并将/ usr / share / python / debian_defaults中的默认版本更改回2.7)但有些事情仍然存在。
例如,当我在python解释器中键入“import gi”时,我收到以下消息:
>>> import gi Traceback (most recent call last): File "", line 1, in ImportError: No module named gi >>>
某些程序也会出现错误(例如:gnome tweak tool)。 我曾尝试从软件中心和来源重新安装python,但同样的错误仍然存在。
Python – 版本现在返回:
Python 2.7.2
还有一些依赖于python 2.7的软件包现在正在运行(例如软件中心),但有些东西仍然存在。 有什么办法可以完全重新安装python 2.7作为默认版本吗?
这里找到的解决方法对我有用:
sudo nano /usr/bin/gnome-tweak-tool
将#!/usr/bin/env python
更改为#!/usr/bin/python
在终端中运行此命令:
sudo apt install python3-gi
或者如果您需要Python2支持:
sudo apt install python-gi
我发现了三种方法:
-
简单的方法:
sudo apt-get install python3-gi
要么
-
对于virtualenv用户 – vext方式
pip install vext
pip install vext.gi
-
纯python开发方式:
安装一堆开发人员的东西:
sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev
安装python包:
pip install gobject PyGObject
就我而言:
>>> import gi >>> gi.__file__ '/usr/lib/python2.7/dist-packages/gi/__init__.pyc'
那么你需要检查你是否有这个文件。 如果不是,则检查/usr/lib/python2.7/dist-packages/gi/__init__.py
指向/usr/share/pyshared/gi/__init__.py
。 你应该拥有该文件,因为你有python-gobject 3.0.0-0ubuntu4
(是的,我有相同的版本)。
如果gi
包在那里,那么你应该看一下你的sys.path
输出。 如果未包含/usr/lib/python2.7/dist-packages
,则添加它/usr/lib/python2.7/dist-packages
试。
导入后,您可以设置PYTHONPATH
或进一步调查路径未正确设置的原因。
挂起的问题可能是你的site.py
文件由于某种原因无效,或者更可能是你没有得到正确的site.py
(它应该在/usr/lib/python2.7/
下) 。 在这种情况下,请查看python用于查找该文件的所有目录,并检查您的环境是否正确。
增加解释器的冗长程度对于分解这个问题大有帮助。 即便在这之后,我尝试将2.7 dist-package的简单符号链接到我的usr / local 3.x dist-package并进一步了解,但不是很多。
sudo ln -s /usr/lib/python2.7/dist-packages/gi/ /usr/local/lib/python3.2/dist-packages 〜$ python3 Python 3.2.2+(默认,2012年2月16日,19:05:44) linux2上的[GCC 4.6.2] 输入“帮助”,“版权”,“信用”或“许可”以获取更多信息。 >>> import gi 回溯(最近的呼叫最后): 文件“”,第1行,in 文件“/usr/local/lib/python3.2/dist-packages/gi/__init__.py”,第23行,in 来自._gi import _API,Repository ImportError:/usr/lib/libpyglib-gi-2.0-python2.7.so.0:未定义的符号:_Py_ZeroStruct
如果您可以追踪丢失的符号,则可以解决此问题。 这是导致我这么远的所有详细的导入输出。 此外,这似乎相关: http : //bugs.debian.org/cgi-bin/bugreport.cgi?bad = 645963 ,祝你好运。
>>> import gi #rending gi.cpython-32mu.so #reting gimodule.cpython-32mu.so #trying gi.abi3.so #trying gimodule.abi3.so #Try gi.so #reting gimodule.so #尝试gi.py #trying gi.pyc #reving /usr/lib/python3.2/gi.cpython-32mu.so #reving /usr/lib/python3.2/gimodule.cpython-32mu.so #reving /usr/lib/python3.2/gi.abi3.so #reving /usr/lib/python3.2/gimodule.abi3.so #reving /usr/lib/python3.2/gi.so #reving /usr/lib/python3.2/gimodule.so #reving /usr/lib/python3.2/gi.py #reving /usr/lib/python3.2/gi.pyc #reving /usr/lib/python3.2/plat-linux2/gi.cpython-32mu.so #reving /usr/lib/python3.2/plat-linux2/gimodule.cpython-32mu.so #reving /usr/lib/python3.2/plat-linux2/gi.abi3.so #reving /usr/lib/python3.2/plat-linux2/gimodule.abi3.so #reving /usr/lib/python3.2/plat-linux2/gi.so #reving /usr/lib/python3.2/plat-linux2/gimodule.so #reving /usr/lib/python3.2/plat-linux2/gi.py #reving /usr/lib/python3.2/plat-linux2/gi.pyc #reving /usr/lib/python3.2/lib-dynload/gi.cpython-32mu.so #reving /usr/lib/python3.2/lib-dynload/gimodule.cpython-32mu.so #reving /usr/lib/python3.2/lib-dynload/gi.abi3.so #reving /usr/lib/python3.2/lib-dynload/gimodule.abi3.so #reving /usr/lib/python3.2/lib-dynload/gi.so #reving /usr/lib/python3.2/lib-dynload/gimodule.so #reving /usr/lib/python3.2/lib-dynload/gi.py #reving /usr/lib/python3.2/lib-dynload/gi.pyc #reving /usr/local/lib/python3.2/dist-packages/gi.cpython-32mu.so #reving /usr/local/lib/python3.2/dist-packages/gimodule.cpython-32mu.so #reving /usr/local/lib/python3.2/dist-packages/gi.abi3.so #reving /usr/local/lib/python3.2/dist-packages/gimodule.abi3.so #reving /usr/local/lib/python3.2/dist-packages/gi.so #reving /usr/local/lib/python3.2/dist-packages/gimodule.so #reving /usr/local/lib/python3.2/dist-packages/gi.py #reving /usr/local/lib/python3.2/dist-packages/gi.pyc #reving /usr/lib/python3/dist-packages/gi.cpython-32mu.so #reving /usr/lib/python3/dist-packages/gimodule.cpython-32mu.so #reving /usr/lib/python3/dist-packages/gi.abi3.so #reving /usr/lib/python3/dist-packages/gimodule.abi3.so #reving /usr/lib/python3/dist-packages/gi.so #reving /usr/lib/python3/dist-packages/gimodule.so #reving /usr/lib/python3/dist-packages/gi.py #reving /usr/lib/python3/dist-packages/gi.pyc 回溯(最近的呼叫最后): 文件“”,第1行,in ImportError:没有名为gi的模块
搜索路径甚至没有查看python2.7路径。 以下是python2.7成功的一面。
>>> import gi #Try gi.so #reting gimodule.so #尝试gi.py #trying gi.pyc #reving /usr/lib/python2.7/gi.so #reving /usr/lib/python2.7/gimodule.so #reving /usr/lib/python2.7/gi.py #reving /usr/lib/python2.7/gi.pyc #reving /usr/lib/python2.7/plat-linux2/gi.so #reving /usr/lib/python2.7/plat-linux2/gimodule.so #reving /usr/lib/python2.7/plat-linux2/gi.py #reving /usr/lib/python2.7/plat-linux2/gi.pyc #reving /usr/lib/python2.7/lib-tk/gi.so #reving /usr/lib/python2.7/lib-tk/gimodule.so #reving /usr/lib/python2.7/lib-tk/gi.py #reving /usr/lib/python2.7/lib-tk/gi.pyc #reving /usr/lib/python2.7/lib-dynload/gi.so #reving /usr/lib/python2.7/lib-dynload/gimodule.so #reving /usr/lib/python2.7/lib-dynload/gi.py #reving /usr/lib/python2.7/lib-dynload/gi.pyc #reving /usr/local/lib/python2.7/dist-packages/gi.so #reving /usr/local/lib/python2.7/dist-packages/gimodule.so #reving /usr/local/lib/python2.7/dist-packages/gi.py #reving /usr/local/lib/python2.7/dist-packages/gi.pyc import gi #directory/usr/lib/python2.7/dist-packages/gi #reving /usr/lib/python2.7/dist-packages/gi/__init__.so #reving /usr/lib/python2.7/dist-packages/gi/__init__module.so #reving /usr/lib/python2.7/dist-packages/gi/__init__.py #/usr/lib/python2.7/dist-packages/gi/__init__.pyc匹配/usr/lib/python2.7/dist-packages/gi/__init__.py 从/usr/lib/python2.7/dist-packages/gi/__init__.pyc导入gi#预编译 #reving __future__.so #reving __future__module.so #reving __future__.py #reving __future __。pyc #reving /usr/lib/python2.7/__future__.so #reving /usr/lib/python2.7/__future__module.so #reving /usr/lib/python2.7/__future__.py #/ usr / lib / python2.7 / _future__.pyc匹配/usr/lib/python2.7/__future__.py import __future__#预编译自/usr/lib/python2.7/__future__.pyc #reving /usr/lib/python2.7/dist-packages/gi/_gi.so dlopen(“/ usr / lib / python2.7 / dist-packages / gi / _gi.so”,2); import gi._gobject #directory/usr/lib/python2.7/dist-packages/gi/_gobject #reving /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/__init__module.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.py #/usr/lib/python2.7/dist-packages/gi/_gobject/__init__.pyc匹配/usr/lib/python2.7/dist-packages/gi/_gobject/__init__.py 从/usr/lib/python2.7/dist-packages/gi/_gobject/__init__.pyc导入gi._gobject#预编译 #reving /usr/lib/python2.7/dist-packages/gi/_gobject/sys.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/sysmodule.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/sys.py #reving /usr/lib/python2.7/dist-packages/gi/_gobject/sys.pyc import gi._glib #directory/usr/lib/python2.7/dist-packages/gi/_glib #reving /usr/lib/python2.7/dist-packages/gi/_glib/__init__.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/__init__module.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/__init__.py #/usr/lib/python2.7/dist-packages/gi/_glib/__init__.pyc匹配/usr/lib/python2.7/dist-packages/gi/_glib/__init__.py 导入gi._glib#预编译自/usr/lib/python2.7/dist-packages/gi/_glib/__init__.pyc #reving /usr/lib/python2.7/dist-packages/gi/_glib/_glib.so dlopen(“/ usr / lib / python2.7 / dist-packages / gi / _glib / _glib.so”,2); 从/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so导入动态加载的gi._glib._glib# #reving /usr/lib/python2.7/dist-packages/gi/_glib/option.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/optionmodule.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/option.py #/usr/lib/python2.7/dist-packages/gi/_glib/option.pyc匹配/usr/lib/python2.7/dist-packages/gi/_glib/option.py 从/usr/lib/python2.7/dist-packages/gi/_glib/option.pyc导入gi._glib.option#预编译 #reving /usr/lib/python2.7/dist-packages/gi/_glib/sys.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/sysmodule.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/sys.py #reving /usr/lib/python2.7/dist-packages/gi/_glib/sys.pyc #reving /usr/lib/python2.7/dist-packages/gi/_glib/optparse.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/optparsemodule.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/optparse.py #reving /usr/lib/python2.7/dist-packages/gi/_glib/optparse.pyc #reting optparse.so #reting optparsemodule.so #reting optparse.py #reting optparse.pyc #reving /usr/lib/python2.7/optparse.so #reving /usr/lib/python2.7/optparsemodule.so #reving /usr/lib/python2.7/optparse.py #/ usr / lib / python2.7 /optparse.pyc匹配/usr/lib/python2.7/optparse.py 从/usr/lib/python2.7/optparse.pyc导入optparse #precompiled #reving textwrap.so #reving textwrapmodule.so #reving textwrap.py #reving textwrap.pyc #reving /usr/lib/python2.7/textwrap.so #reving /usr/lib/python2.7/textwrapmodule.so #reving /usr/lib/python2.7/textwrap.py #/ usr / lib / python2.7 / textwrap.pyc匹配/usr/lib/python2.7/textwrap.py 从/usr/lib/python2.7/textwrap.pyc导入textwrap #precompiled #Try string.so #tinging stringmodule.so #reving string.py #tinging string.pyc #reving /usr/lib/python2.7/string.so #reving /usr/lib/python2.7/stringmodule.so #reving /usr/lib/python2.7/string.py #/usr/lib/python2.7/string.pyc匹配/usr/lib/python2.7/string.py import string #preililed from /usr/lib/python2.7/string.pyc import strop#builtin #reving gettext.so #reving gettextmodule.so #reving gettext.py #reving gettext.pyc #reving /usr/lib/python2.7/gettext.so #reving /usr/lib/python2.7/gettextmodule.so #reving /usr/lib/python2.7/gettext.py #/usr/lib/python2.7/gettext.pyc匹配/usr/lib/python2.7/gettext.py 从/usr/lib/python2.7/gettext.pyc导入gettext #precompiled #reting locale.so #reting localemodule.so #reting locale.py #reving locale.pyc #reving /usr/lib/python2.7/locale.so #reving /usr/lib/python2.7/localemodule.so #reving /usr/lib/python2.7/locale.py #/usr/lib/python2.7/locale.pyc匹配/usr/lib/python2.7/locale.py import locale #preililed from /usr/lib/python2.7/locale.pyc import operator#builtin #尝试functools.so #reving functoolsmodule.so #reving functools.py #reving functools.pyc #reving /usr/lib/python2.7/functools.so #reving /usr/lib/python2.7/functoolsmodule.so #reving /usr/lib/python2.7/functools.py #/usr/lib/python2.7/functools.pyc匹配/usr/lib/python2.7/functools.py 从/usr/lib/python2.7/functools.pyc导入functools #precompiled import _functools#builtin import _locale#builtin #reving copy.so #rending copymodule.so #rending copy.py #reving copy.pyc #reving /usr/lib/python2.7/copy.so #reving /usr/lib/python2.7/copymodule.so #reving /usr/lib/python2.7/copy.py #/ usr / lib / python2.7 / copy.pyc匹配/usr/lib/python2.7/copy.py 导入副本#precompiled from /usr/lib/python2.7/copy.pyc #reving weakref.so #reving weakrefmodule.so #reving weakref.py #reving weakref.pyc #reving /usr/lib/python2.7/weakref.so #reving /usr/lib/python2.7/weakrefmodule.so #reving /usr/lib/python2.7/weakref.py #/usr/lib/python2.7/weakref.pyc匹配/usr/lib/python2.7/weakref.py 从/usr/lib/python2.7/weakref.pyc导入weakref #precompiled #reving org.so #reving orgmodule.so #reving org.py #reving org.pyc #reving /usr/lib/python2.7/org.so #reving /usr/lib/python2.7/orgmodule.so #reving /usr/lib/python2.7/org.py #reving /usr/lib/python2.7/org.pyc #reving /usr/lib/python2.7/plat-linux2/org.so #reving /usr/lib/python2.7/plat-linux2/orgmodule.so #reving /usr/lib/python2.7/plat-linux2/org.py #reving /usr/lib/python2.7/plat-linux2/org.pyc #reving /usr/lib/python2.7/lib-tk/org.so #reving /usr/lib/python2.7/lib-tk/orgmodule.so #reving /usr/lib/python2.7/lib-tk/org.py #reving /usr/lib/python2.7/lib-tk/org.pyc #reving /usr/lib/python2.7/lib-dynload/org.so #reving /usr/lib/python2.7/lib-dynload/orgmodule.so #reving /usr/lib/python2.7/lib-dynload/org.py #reving /usr/lib/python2.7/lib-dynload/org.pyc #reving /usr/local/lib/python2.7/dist-packages/org.so #reving /usr/local/lib/python2.7/dist-packages/orgmodule.so #reving /usr/local/lib/python2.7/dist-packages/org.py #reving /usr/local/lib/python2.7/dist-packages/org.pyc #reving /usr/lib/python2.7/dist-packages/org.so #reving /usr/lib/python2.7/dist-packages/orgmodule.so #reving /usr/lib/python2.7/dist-packages/org.py #reving /usr/lib/python2.7/dist-packages/org.pyc #reving /usr/lib/python2.7/dist-packages/PIL/org.so #reving /usr/lib/python2.7/dist-packages/PIL/orgmodule.so #reving /usr/lib/python2.7/dist-packages/PIL/org.py #reving /usr/lib/python2.7/dist-packages/PIL/org.pyc #reving /usr/lib/python2.7/dist-packages/gst-0.10/org.so #reving /usr/lib/python2.7/dist-packages/gst-0.10/orgmodule.so #reving /usr/lib/python2.7/dist-packages/gst-0.10/org.py #reving /usr/lib/python2.7/dist-packages/gst-0.10/org.pyc #reving /usr/lib/python2.7/dist-packages/gtk-2.0/org.so #reving /usr/lib/python2.7/dist-packages/gtk-2.0/orgmodule.so #reving /usr/lib/python2.7/dist-packages/gtk-2.0/org.py #reving /usr/lib/python2.7/dist-packages/gtk-2.0/org.pyc #reving /usr/lib/pymodules/python2.7/org.so #reving /usr/lib/pymodules/python2.7/orgmodule.so #reving /usr/lib/pymodules/python2.7/org.py #reving /usr/lib/pymodules/python2.7/org.pyc #reving /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.so #reving /usr/lib/python2.7/dist-packages/ubuntu-sso-client/orgmodule.so #reving /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.py #reving /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.pyc #reving /usr/lib/python2.7/dist-packages/ubuntuone-client/org.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-client/orgmodule.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-client/org.py #reving /usr/lib/python2.7/dist-packages/ubuntuone-client/org.pyc #reving /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/orgmodule.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.py #reving /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.pyc #reving /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-couch/orgmodule.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.py #reving /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.pyc #reving /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-installer/orgmodule.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.py #reving /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.pyc #reving /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/orgmodule.so #reving /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.py #reving /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.pyc #reving struct.so #reving structmodule.so #尝试struct.py #reving struct.pyc #reving /usr/lib/python2.7/struct.so #reving /usr/lib/python2.7/structmodule.so #reving /usr/lib/python2.7/struct.py #/usr/lib/python2.7/struct.pyc匹配/usr/lib/python2.7/struct.py import struct#precompiled from /usr/lib/python2.7/struct.pyc import _struct#builtin #reving /usr/lib/python2.7/dist-packages/gi/_glib/gi.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/gimodule.so #reving /usr/lib/python2.7/dist-packages/gi/_glib/gi.py #reving /usr/lib/python2.7/dist-packages/gi/_glib/gi.pyc #reving /usr/lib/python2.7/dist-packages/gi/_gobject/constants.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/constantsmodule.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/constants.py #/usr/lib/python2.7/dist-packages/gi/_gobject/constants.pyc匹配/usr/lib/python2.7/dist-packages/gi/_gobject/constants.py import gi._gobject.constants #precompiled from /usr/lib/python2.7/dist-packages/gi/_gobject/constants.pyc #reving /usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so dlopen(“/ usr / lib / python2.7 / dist-packages / gi / _gobject / _gobject.so”,2); 从/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so导入gi._gobject._gobject#动态加载 #reving /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelpermodule.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.py #/usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.pyc匹配/usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.py 从www.usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.pyc导入gi._gobject.propertyhelper #precompiled #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrappermodule.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.py #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.pyc #rending datetime.so #rending datetimemodule.so #rending datetime.py #rending datetime.pyc #reving /usr/lib/python2.7/datetime.so #reving /usr/lib/python2.7/datetimemodule.so #reving /usr/lib/python2.7/datetime.py #reving /usr/lib/python2.7/datetime.pyc #reving /usr/lib/python2.7/plat-linux2/datetime.so #reving /usr/lib/python2.7/plat-linux2/datetimemodule.so #reving /usr/lib/python2.7/plat-linux2/datetime.py #reving /usr/lib/python2.7/plat-linux2/datetime.pyc #reving /usr/lib/python2.7/lib-tk/datetime.so #reving /usr/lib/python2.7/lib-tk/datetimemodule.so #reving /usr/lib/python2.7/lib-tk/datetime.py #reving /usr/lib/python2.7/lib-tk/datetime.pyc #reving /usr/lib/python2.7/lib-dynload/datetime.so dlopen(“/ usr / lib / python2.7 / lib-dynload / datetime.so”,2); import datetime#从/usr/lib/python2.7/lib-dynload/datetime.so动态加载 #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrappermodule.so #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.py #reving /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.pyc 从/usr/lib/python2.7/dist-packages/gi/_gi.so导入gi._gi#动态加载