менеджер обновлений вылетает с неопределенным символом (libpyglib-gi-2.0-python2.7.so)

3

Когда я запускаю средство обновления программного обеспечения по значку средства запуска приложения, оно падает, запуск его из командной строки показывает, в чем заключается ошибка:

Я получаю это с 12.10, и это все еще присутствует 13.10

max@max-ubuntu:~$ update-manager 
Traceback (most recent call last):
  File "/usr/bin/update-manager", line 28, in <module>
    from gi.repository import Gtk
  File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 27, in <module>
    from ._gi import _API, Repository
ImportError: /usr/lib/x86_64-linux-gnu/libpyglib-gi-2.0-python2.7.so.0: undefined symbol: _Py_ZeroStruct
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python2.7/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python2.7/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python2.7/dist-packages/apport/packaging_impl.py", line 20, in <module>
    import apt
  File "/usr/lib/python2.7/dist-packages/apt/__init__.py", line 21, in <module>
    import apt_pkg
ImportError: /usr/lib/python2.7/dist-packages/apt_pkg.so: undefined symbol: _Py_ZeroStruct

Original exception was:
Traceback (most recent call last):
  File "/usr/bin/update-manager", line 28, in <module>
    from gi.repository import Gtk
  File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 27, in <module>
    from ._gi import _API, Repository
ImportError: /usr/lib/x86_64-linux-gnu/libpyglib-gi-2.0-python2.7.so.0: undefined symbol: _Py_ZeroStruct
max@max-ubuntu:~$ 
Макс Л.
источник
Подобный вопрос здесь: askubuntu.com/q/607210/367990
Byte Commander

Ответы:

2

update-managerэто приложение на Python 3 Однако я подозреваю, что ваши PYTHONPATHкаталоги содержат ссылки на вашу установку Python 2. Проблемным является то /usr/lib/python2.7/dist-packages, что вызывает несовместимую версию aptпакета Python 2, которая будет выбрана.

Попробуйте сбросить PYTHONPATHили запустить как

PYTHONPATH= update-manager
kynan
источник