Что заставило бы “gi” модуль отсутствовать в Python?

После некоторых не так умное редактирование версии Python по умолчанию в Ubuntu, от 2,7 до 3,2, я закончил тем, что повредил свою всю систему. После моего интегрируемого компьютера и все прекратило работать, я пытался вернуться назад свои изменения (путем соединения/usr/bin/python2.7 к/usr/bin/python и изменения версии по умолчанию в/usr/share/python/debian_defaults назад к 2,7), но некоторые вещи все еще повреждаются.

Например, когда я ввожу "импорт gi", в интерпретаторе Python я получаю следующее сообщение:

>>> import gi
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ImportError: No module named gi
>>> 

ошибка, которая появляется с некоторыми программами также (например: инструмент тонкой настройки гнома). Я попытался переустановить Python и от центра программного обеспечения и из источников, но та же ошибка сохраняется.

Python - версия теперь возвращается:

 Python 2.7.2

и также некоторые пакеты программного обеспечения, которые зависят от python 2.7, теперь работают (например, центр программного обеспечения), но некоторые вещи все еще повреждаются. Есть ли что-нибудь, что я могу сделать для завершенного переустанавливания python 2.7 как версии по умолчанию?

19
задан 14 April 2015 в 02:55

11 ответов

Мало обходного решения нашло здесь, это работало на меня:

sudo nano /usr/bin/gnome-tweak-tool

Изменение #!/usr/bin/env python кому: #!/usr/bin/python

8
ответ дан 23 November 2019 в 01:57

В моем случае:

>>> 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 не включен, затем добавьте его и попробуйте еще раз.

После того как импорт работает, можно просто установить Ваш PYTHONPATH или займитесь расследованиями далее на причине, почему путь правильно не установлен.

Незаконченная проблема, вероятно, состоит любой в том что Ваш site.py файл не является правильным по любой причине или, более вероятно, что Вы не получаете право site.py (это должно быть под /usr/lib/python2.7/). В этом случае взгляните здесь для рассмотрения всего использования Python каталогов, чтобы искать тот файл и проверить, что среда корректна.

2
ответ дан 23 November 2019 в 01:57

Увеличение многословия интерпретатора имеет большое значение для сортирования этой проблемы. Даже, в конце концов, это, я попытался делать простую символьную ссылку 2,7 dist-пакетов к моему usr/local 3.x dist-пакет и добрался немного далее, но не очень.

 sudo ln -s /usr/lib/python2.7/dist-packages/gi/ /usr/local/lib/python3.2/dist-packages

~$ python3
Python 3.2.2+ (default, Feb 16 2012, 19:05:44) 
[GCC 4.6.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gi
Traceback (most recent call last):
  File "", line 1, in 
  File "/usr/local/lib/python3.2/dist-packages/gi/__init__.py", line 23, in 
    from ._gi import _API, Repository
ImportError: /usr/lib/libpyglib-gi-2.0-python2.7.so.0: undefined symbol: _Py_ZeroStruct

Если можно разыскать тот отсутствующий символ, Вы смогли решать эту проблему. Вот весь подробный вывод импорта, который привел меня настолько далеко. Кроме того, это кажется релевантным: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645963, Удача.

>>> import gi
# trying gi.cpython-32mu.so
# trying gimodule.cpython-32mu.so
# trying gi.abi3.so
# trying gimodule.abi3.so
# trying gi.so
# trying gimodule.so
# trying gi.py
# trying gi.pyc
# trying /usr/lib/python3.2/gi.cpython-32mu.so
# trying /usr/lib/python3.2/gimodule.cpython-32mu.so
# trying /usr/lib/python3.2/gi.abi3.so
# trying /usr/lib/python3.2/gimodule.abi3.so
# trying /usr/lib/python3.2/gi.so
# trying /usr/lib/python3.2/gimodule.so
# trying /usr/lib/python3.2/gi.py
# trying /usr/lib/python3.2/gi.pyc
# trying /usr/lib/python3.2/plat-linux2/gi.cpython-32mu.so
# trying /usr/lib/python3.2/plat-linux2/gimodule.cpython-32mu.so
# trying /usr/lib/python3.2/plat-linux2/gi.abi3.so
# trying /usr/lib/python3.2/plat-linux2/gimodule.abi3.so
# trying /usr/lib/python3.2/plat-linux2/gi.so
# trying /usr/lib/python3.2/plat-linux2/gimodule.so
# trying /usr/lib/python3.2/plat-linux2/gi.py
# trying /usr/lib/python3.2/plat-linux2/gi.pyc
# trying /usr/lib/python3.2/lib-dynload/gi.cpython-32mu.so
# trying /usr/lib/python3.2/lib-dynload/gimodule.cpython-32mu.so
# trying /usr/lib/python3.2/lib-dynload/gi.abi3.so
# trying /usr/lib/python3.2/lib-dynload/gimodule.abi3.so
# trying /usr/lib/python3.2/lib-dynload/gi.so
# trying /usr/lib/python3.2/lib-dynload/gimodule.so
# trying /usr/lib/python3.2/lib-dynload/gi.py
# trying /usr/lib/python3.2/lib-dynload/gi.pyc
# trying /usr/local/lib/python3.2/dist-packages/gi.cpython-32mu.so
# trying /usr/local/lib/python3.2/dist-packages/gimodule.cpython-32mu.so
# trying /usr/local/lib/python3.2/dist-packages/gi.abi3.so
# trying /usr/local/lib/python3.2/dist-packages/gimodule.abi3.so
# trying /usr/local/lib/python3.2/dist-packages/gi.so
# trying /usr/local/lib/python3.2/dist-packages/gimodule.so
# trying /usr/local/lib/python3.2/dist-packages/gi.py
# trying /usr/local/lib/python3.2/dist-packages/gi.pyc
# trying /usr/lib/python3/dist-packages/gi.cpython-32mu.so
# trying /usr/lib/python3/dist-packages/gimodule.cpython-32mu.so
# trying /usr/lib/python3/dist-packages/gi.abi3.so
# trying /usr/lib/python3/dist-packages/gimodule.abi3.so
# trying /usr/lib/python3/dist-packages/gi.so
# trying /usr/lib/python3/dist-packages/gimodule.so
# trying /usr/lib/python3/dist-packages/gi.py
# trying /usr/lib/python3/dist-packages/gi.pyc
Traceback (most recent call last):
  File "", line 1, in 
ImportError: No module named gi

Путь поиска даже не смотрит на путь python2.7. Вот то, как это смотрит с успешной стороны python2.7.

>>> import gi
# trying gi.so
# trying gimodule.so
# trying gi.py
# trying gi.pyc
# trying /usr/lib/python2.7/gi.so
# trying /usr/lib/python2.7/gimodule.so
# trying /usr/lib/python2.7/gi.py
# trying /usr/lib/python2.7/gi.pyc
# trying /usr/lib/python2.7/plat-linux2/gi.so
# trying /usr/lib/python2.7/plat-linux2/gimodule.so
# trying /usr/lib/python2.7/plat-linux2/gi.py
# trying /usr/lib/python2.7/plat-linux2/gi.pyc
# trying /usr/lib/python2.7/lib-tk/gi.so
# trying /usr/lib/python2.7/lib-tk/gimodule.so
# trying /usr/lib/python2.7/lib-tk/gi.py
# trying /usr/lib/python2.7/lib-tk/gi.pyc
# trying /usr/lib/python2.7/lib-dynload/gi.so
# trying /usr/lib/python2.7/lib-dynload/gimodule.so
# trying /usr/lib/python2.7/lib-dynload/gi.py
# trying /usr/lib/python2.7/lib-dynload/gi.pyc
# trying /usr/local/lib/python2.7/dist-packages/gi.so
# trying /usr/local/lib/python2.7/dist-packages/gimodule.so
# trying /usr/local/lib/python2.7/dist-packages/gi.py
# trying /usr/local/lib/python2.7/dist-packages/gi.pyc
import gi # directory /usr/lib/python2.7/dist-packages/gi
# trying /usr/lib/python2.7/dist-packages/gi/__init__.so
# trying /usr/lib/python2.7/dist-packages/gi/__init__module.so
# trying /usr/lib/python2.7/dist-packages/gi/__init__.py
# /usr/lib/python2.7/dist-packages/gi/__init__.pyc matches /usr/lib/python2.7/dist-packages/gi/__init__.py
import gi # precompiled from /usr/lib/python2.7/dist-packages/gi/__init__.pyc
# trying __future__.so
# trying __future__module.so
# trying __future__.py
# trying __future__.pyc
# trying /usr/lib/python2.7/__future__.so
# trying /usr/lib/python2.7/__future__module.so
# trying /usr/lib/python2.7/__future__.py
# /usr/lib/python2.7/__future__.pyc matches /usr/lib/python2.7/__future__.py
import __future__ # precompiled from /usr/lib/python2.7/__future__.pyc
# trying /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
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/__init__module.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.py
# /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.pyc matches /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.py
import gi._gobject # precompiled from /usr/lib/python2.7/dist-packages/gi/_gobject/__init__.pyc
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/sys.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/sysmodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/sys.py
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/sys.pyc
import gi._glib # directory /usr/lib/python2.7/dist-packages/gi/_glib
# trying /usr/lib/python2.7/dist-packages/gi/_glib/__init__.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/__init__module.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/__init__.py
# /usr/lib/python2.7/dist-packages/gi/_glib/__init__.pyc matches /usr/lib/python2.7/dist-packages/gi/_glib/__init__.py
import gi._glib # precompiled from /usr/lib/python2.7/dist-packages/gi/_glib/__init__.pyc
# trying /usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
dlopen("/usr/lib/python2.7/dist-packages/gi/_glib/_glib.so", 2);
import gi._glib._glib # dynamically loaded from /usr/lib/python2.7/dist-packages/gi/_glib/_glib.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/option.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/optionmodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/option.py
# /usr/lib/python2.7/dist-packages/gi/_glib/option.pyc matches /usr/lib/python2.7/dist-packages/gi/_glib/option.py
import gi._glib.option # precompiled from /usr/lib/python2.7/dist-packages/gi/_glib/option.pyc
# trying /usr/lib/python2.7/dist-packages/gi/_glib/sys.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/sysmodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/sys.py
# trying /usr/lib/python2.7/dist-packages/gi/_glib/sys.pyc
# trying /usr/lib/python2.7/dist-packages/gi/_glib/optparse.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/optparsemodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/optparse.py
# trying /usr/lib/python2.7/dist-packages/gi/_glib/optparse.pyc
# trying optparse.so
# trying optparsemodule.so
# trying optparse.py
# trying optparse.pyc
# trying /usr/lib/python2.7/optparse.so
# trying /usr/lib/python2.7/optparsemodule.so
# trying /usr/lib/python2.7/optparse.py
# /usr/lib/python2.7/optparse.pyc matches /usr/lib/python2.7/optparse.py
import optparse # precompiled from /usr/lib/python2.7/optparse.pyc
# trying textwrap.so
# trying textwrapmodule.so
# trying textwrap.py
# trying textwrap.pyc
# trying /usr/lib/python2.7/textwrap.so
# trying /usr/lib/python2.7/textwrapmodule.so
# trying /usr/lib/python2.7/textwrap.py
# /usr/lib/python2.7/textwrap.pyc matches /usr/lib/python2.7/textwrap.py
import textwrap # precompiled from /usr/lib/python2.7/textwrap.pyc
# trying string.so
# trying stringmodule.so
# trying string.py
# trying string.pyc
# trying /usr/lib/python2.7/string.so
# trying /usr/lib/python2.7/stringmodule.so
# trying /usr/lib/python2.7/string.py
# /usr/lib/python2.7/string.pyc matches /usr/lib/python2.7/string.py
import string # precompiled from /usr/lib/python2.7/string.pyc
import strop # builtin
# trying gettext.so
# trying gettextmodule.so
# trying gettext.py
# trying gettext.pyc
# trying /usr/lib/python2.7/gettext.so
# trying /usr/lib/python2.7/gettextmodule.so
# trying /usr/lib/python2.7/gettext.py
# /usr/lib/python2.7/gettext.pyc matches /usr/lib/python2.7/gettext.py
import gettext # precompiled from /usr/lib/python2.7/gettext.pyc
# trying locale.so
# trying localemodule.so
# trying locale.py
# trying locale.pyc
# trying /usr/lib/python2.7/locale.so
# trying /usr/lib/python2.7/localemodule.so
# trying /usr/lib/python2.7/locale.py
# /usr/lib/python2.7/locale.pyc matches /usr/lib/python2.7/locale.py
import locale # precompiled from /usr/lib/python2.7/locale.pyc
import operator # builtin
# trying functools.so
# trying functoolsmodule.so
# trying functools.py
# trying functools.pyc
# trying /usr/lib/python2.7/functools.so
# trying /usr/lib/python2.7/functoolsmodule.so
# trying /usr/lib/python2.7/functools.py
# /usr/lib/python2.7/functools.pyc matches /usr/lib/python2.7/functools.py
import functools # precompiled from /usr/lib/python2.7/functools.pyc
import _functools # builtin
import _locale # builtin
# trying copy.so
# trying copymodule.so
# trying copy.py
# trying copy.pyc
# trying /usr/lib/python2.7/copy.so
# trying /usr/lib/python2.7/copymodule.so
# trying /usr/lib/python2.7/copy.py
# /usr/lib/python2.7/copy.pyc matches /usr/lib/python2.7/copy.py
import copy # precompiled from /usr/lib/python2.7/copy.pyc
# trying weakref.so
# trying weakrefmodule.so
# trying weakref.py
# trying weakref.pyc
# trying /usr/lib/python2.7/weakref.so
# trying /usr/lib/python2.7/weakrefmodule.so
# trying /usr/lib/python2.7/weakref.py
# /usr/lib/python2.7/weakref.pyc matches /usr/lib/python2.7/weakref.py
import weakref # precompiled from /usr/lib/python2.7/weakref.pyc
# trying org.so
# trying orgmodule.so
# trying org.py
# trying org.pyc
# trying /usr/lib/python2.7/org.so
# trying /usr/lib/python2.7/orgmodule.so
# trying /usr/lib/python2.7/org.py
# trying /usr/lib/python2.7/org.pyc
# trying /usr/lib/python2.7/plat-linux2/org.so
# trying /usr/lib/python2.7/plat-linux2/orgmodule.so
# trying /usr/lib/python2.7/plat-linux2/org.py
# trying /usr/lib/python2.7/plat-linux2/org.pyc
# trying /usr/lib/python2.7/lib-tk/org.so
# trying /usr/lib/python2.7/lib-tk/orgmodule.so
# trying /usr/lib/python2.7/lib-tk/org.py
# trying /usr/lib/python2.7/lib-tk/org.pyc
# trying /usr/lib/python2.7/lib-dynload/org.so
# trying /usr/lib/python2.7/lib-dynload/orgmodule.so
# trying /usr/lib/python2.7/lib-dynload/org.py
# trying /usr/lib/python2.7/lib-dynload/org.pyc
# trying /usr/local/lib/python2.7/dist-packages/org.so
# trying /usr/local/lib/python2.7/dist-packages/orgmodule.so
# trying /usr/local/lib/python2.7/dist-packages/org.py
# trying /usr/local/lib/python2.7/dist-packages/org.pyc
# trying /usr/lib/python2.7/dist-packages/org.so
# trying /usr/lib/python2.7/dist-packages/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/org.py
# trying /usr/lib/python2.7/dist-packages/org.pyc
# trying /usr/lib/python2.7/dist-packages/PIL/org.so
# trying /usr/lib/python2.7/dist-packages/PIL/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/PIL/org.py
# trying /usr/lib/python2.7/dist-packages/PIL/org.pyc
# trying /usr/lib/python2.7/dist-packages/gst-0.10/org.so
# trying /usr/lib/python2.7/dist-packages/gst-0.10/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/gst-0.10/org.py
# trying /usr/lib/python2.7/dist-packages/gst-0.10/org.pyc
# trying /usr/lib/python2.7/dist-packages/gtk-2.0/org.so
# trying /usr/lib/python2.7/dist-packages/gtk-2.0/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/gtk-2.0/org.py
# trying /usr/lib/python2.7/dist-packages/gtk-2.0/org.pyc
# trying /usr/lib/pymodules/python2.7/org.so
# trying /usr/lib/pymodules/python2.7/orgmodule.so
# trying /usr/lib/pymodules/python2.7/org.py
# trying /usr/lib/pymodules/python2.7/org.pyc
# trying /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.so
# trying /usr/lib/python2.7/dist-packages/ubuntu-sso-client/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.py
# trying /usr/lib/python2.7/dist-packages/ubuntu-sso-client/org.pyc
# trying /usr/lib/python2.7/dist-packages/ubuntuone-client/org.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-client/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-client/org.py
# trying /usr/lib/python2.7/dist-packages/ubuntuone-client/org.pyc
# trying /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.py
# trying /usr/lib/python2.7/dist-packages/ubuntuone-control-panel/org.pyc
# trying /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-couch/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.py
# trying /usr/lib/python2.7/dist-packages/ubuntuone-couch/org.pyc
# trying /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-installer/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.py
# trying /usr/lib/python2.7/dist-packages/ubuntuone-installer/org.pyc
# trying /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/orgmodule.so
# trying /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.py
# trying /usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol/org.pyc
# trying struct.so
# trying structmodule.so
# trying struct.py
# trying struct.pyc
# trying /usr/lib/python2.7/struct.so
# trying /usr/lib/python2.7/structmodule.so
# trying /usr/lib/python2.7/struct.py
# /usr/lib/python2.7/struct.pyc matches /usr/lib/python2.7/struct.py
import struct # precompiled from /usr/lib/python2.7/struct.pyc
import _struct # builtin
# trying /usr/lib/python2.7/dist-packages/gi/_glib/gi.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/gimodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_glib/gi.py
# trying /usr/lib/python2.7/dist-packages/gi/_glib/gi.pyc
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/constants.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/constantsmodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/constants.py
# /usr/lib/python2.7/dist-packages/gi/_gobject/constants.pyc matches /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
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
dlopen("/usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so", 2);
import gi._gobject._gobject # dynamically loaded from /usr/lib/python2.7/dist-packages/gi/_gobject/_gobject.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelpermodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.py
# /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.pyc matches /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.py
import gi._gobject.propertyhelper # precompiled from /usr/lib/python2.7/dist-packages/gi/_gobject/propertyhelper.pyc
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrappermodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.py
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.pyc
# trying datetime.so
# trying datetimemodule.so
# trying datetime.py
# trying datetime.pyc
# trying /usr/lib/python2.7/datetime.so
# trying /usr/lib/python2.7/datetimemodule.so
# trying /usr/lib/python2.7/datetime.py
# trying /usr/lib/python2.7/datetime.pyc
# trying /usr/lib/python2.7/plat-linux2/datetime.so
# trying /usr/lib/python2.7/plat-linux2/datetimemodule.so
# trying /usr/lib/python2.7/plat-linux2/datetime.py
# trying /usr/lib/python2.7/plat-linux2/datetime.pyc
# trying /usr/lib/python2.7/lib-tk/datetime.so
# trying /usr/lib/python2.7/lib-tk/datetimemodule.so
# trying /usr/lib/python2.7/lib-tk/datetime.py
# trying /usr/lib/python2.7/lib-tk/datetime.pyc
# trying /usr/lib/python2.7/lib-dynload/datetime.so
dlopen("/usr/lib/python2.7/lib-dynload/datetime.so", 2);
import datetime # dynamically loaded from /usr/lib/python2.7/lib-dynload/datetime.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrappermodule.so
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.py
# trying /usr/lib/python2.7/dist-packages/gi/_gobject/GTypeWrapper.pyc
import gi._gi # dynamically loaded from /usr/lib/python2.7/dist-packages/gi/_gi.so
2
ответ дан 23 November 2019 в 01:57

Выполните эту команду в терминале:

sudo apt install python3-gi

или если Вам нужна поддержка Python2 вместо этого:

sudo apt install python-gi
8
ответ дан 23 November 2019 в 01:57

Я нашел три способа сделать это:

  1. Простой путь:

    sudo apt-get install python3-gi

    или

  2. Для virtualenv пользователей - vext путь

    pip install vext

    pip install vext.gi

  3. Чистый разработчик Python путь:

    Установите набор материала разработчика:

    sudo apt-get install pkg-config libcairo2-dev gcc python3-dev libgirepository1.0-dev

    Установите пакеты Python:

    pip install gobject PyGObject

20
ответ дан 23 November 2019 в 01:57

Если Вы установили анаконду, и это стало средой Python по умолчанию, gi модуль может быть установлен через:

conda install -c conda-forge pygobject 

Также см.: https://bugs.launchpad.net/ubuntu / + source/ibus / + ошибка/1611523

4
ответ дан 23 November 2019 в 01:57

В среде Python все зависит от зависимостей, как в C. Но если вы установите модуль через PyPI (pip ) или системного инструмента упаковки (apt, yum, brew и т. д.), это имеет значение для дальнейшего вызова всех скриптов Python. например установить PyGObject

A. (Выберите один или другой) с помощью инструмента пакета (в некоторых случаях это может не работать, apt может быть отключен или изменить версию Python):

    sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0

или B. (Выберите один или другой) через PyPi (это всегда должно работать)

    cat <<EOF | tee requirements.txt
    pycairo
    PyGObject
    EOF
    pip3 install -r requirements.txt 
  1. Библиотеки Python устанавливаются с помощью стандартных инструментов пакета, и дальнейшее обновление нарушит работу системы зависимостей, если не используется стандартный пакет python3-:

     python3
    >>> импортировать gi.repository
    
  2. (Рекомендуется для разработчиков) Модули Python могут быть установлены в виртуальной среде (virtualenv create / usr / src / venv). Следовательно, он будет найден в блоке оболочки, начиная с включенного virtualenv:

     source / usr / src / venv / bin / activate
    pip3 install -r requirements.txt
    python3
    >>> импортировать gi.repository
    

requirements.txt содержит список модулей Python, которые вы хотите добавить в PYTHONPATH. Virtualenv гарантирует, что каждый требуемый модуль доступен из желаемой версии Python и библиотеки, и имеет приоритет над системным менеджером инструментов пакетов.

0
ответ дан 31 March 2020 в 15:43
sudo apt-get install -y python-gobject

Исправлено для меня в Ubuntu 18.04.

1
ответ дан 12 April 2020 в 15:11

В моем случае я использовал Python3.6 и недавно обновился до Python3.7, после чего возникла эта проблема. Это решение работает для меня:

cd /usr/lib/python3/dist-packages/gi
sudo ln -s _gi.cpython-{36m,37m}-x86_64-linux-gnu.so
0
ответ дан 18 April 2020 в 20:12

Этот работал у меня на Ubuntu 20.04, python 3.8 с использованием виртуальной среды.

Для удобства я цитирую:

... но я понимаю, что моя версия Python была 3.6, а gi был установлен в каталоге python 3, потому что я установил через этот команду «sudo apt-get install python3-gi», поэтому я запускаю эту команду на своем терминал:

ln -s /usr/lib/python3/dist-packages/gi /home/your_name_goes_here/miniconda3/lib/python3.6/site-packages/

(PS: в "your_user_goes_here" вы указываете свое имя пользователя)

На самом деле, для корректности (поскольку я не использую conda) Я изменил команду на:

$ ln -s /usr/lib/python3/dist-packages/gi /home/your_name_goes_here/your_python_path/3.8/lib/python3.8/site-packages
0
ответ дан 4 June 2020 в 13:36

Для Ubuntu 16.04 с Python3.6 через deadsnakes PPA.

Символическая ссылка двоичных файлов дистрибутива (3.5) на новые имена (3.6):

cd /usr/lib/python3/dist-packages/gi
sudo ln -s _gi.cpython-35m-x86_64-linux-gnu.so        _gi.cpython-36m-x86_64-linux-gnu.so 
sudo ln -s _gi_cairo.cpython-35m-x86_64-linux-gnu.so  _gi_cairo.cpython-36m-x86_64-linux-gnu.so
0
ответ дан 12 December 2020 в 18:16

Другие вопросы по тегам:

Похожие вопросы: