Обновление Ubuntu 16.04 LTS сломало некоторые зависимости

Я только что обновил свой ноутбук с 14.04 LTS до 16.04 LTS, и он, похоже, сломал несколько зависимостей. Я заметил два разбитых пакета Python, но после того, как возиться, кажется, что проблемы могут идти глубже.

Первая, и я думаю, менее серьезная проблема с пакетом Python glib, Я считаю, что это было установлено автоматически как зависимость для python-poppler, который был установлен через apt, Я использую анаконду по большей части (установка пакетов через conda или анаконды pip где я могу), и я заметил, что анаконда Python / IPython не может установить glib (и поэтому, poppler правильно). Я получаю следующую ошибку:

In [1]: import glib
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-51ae20c37cf1> in <module>()
----> 1 import glib

/usr/lib/python2.7/dist-packages/glib/__init__.py in <module>()
     20 # USA
     21 
---> 22 from glib._glib import *
     23 _PyGLib_API = _glib._PyGLib_API
     24 

ImportError: No module named _glib

Однако, когда я пытаюсь импортировать glib в системный Python (/usr/bin/python), он импортирует без проблем. Единственная похожая проблема, которую я мог найти, это эта, так что, похоже, это проблема анаконды. Я не хочу удалять анаконду, есть ли другой способ исправить это?

Во-вторых, и более серьезно, у меня есть проблемы с pyexiv2, Это предотвращает приложения variety а также picty от открытия. Когда я пытаюсь импортировать pyexiv2 Я получаю следующую ошибку:

In [1]: import pyexiv2
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-45fdaeaee197> in <module>()
----> 1 import pyexiv2

/usr/lib/python2.7/dist-packages/pyexiv2/__init__.py in <module>()
     58 """
     59 
---> 60 import libexiv2python
     61 
     62 from pyexiv2.metadata import ImageMetadata

ImportError: /usr/lib/python2.7/dist-packages/libexiv2python.so: undefined symbol: _ZNK5Exiv27ExifKey7tagNameB5cxx11Ev

Это происходит независимо от того, использую я Python от Anaconda или системный Python.

Я обнаружил подобную проблему здесь, и, похоже, это может быть причиной того, что мои pyexiv2 и exiv2 не синхронизированы, но у меня есть идея, как это исправить. Очевидно, exiv2 не установлен в моей системе, и когда я пытаюсь установить его, я получаю следующее:

$ sudo apt install exiv2
[sudo] password for billbrod: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 exiv2 : Depends: libexiv2-14 (= 0.25-2.1) but 0.25-2.1.0pmo2~trusty is to be installed
E: Unable to correct problems, you have held broken packages.

а также 0.25-2.1.0pm02~trusty не похоже на релиз, указанный в https://launchpad.net/ubuntu/xenial/+package/libexiv2-14, а также поиск по нему ничего не поднимает. верным было название релиза 14.04 LTS, верно? Так что возможно, что-то пошло не так с обновлением libexiv2 во время обновления с 14.04 до 16.04? Единственные другие похожие проблемы с pyexiv2, которые я могу найти, это старая проблема, которая была исправлена, и для того, кто скомпилировал pyexiv2 сами (я не могу опубликовать ссылки, потому что моя репутация недостаточно высока), ни одна из которых не имеет отношения к делу.

Любая помощь будет принята с благодарностью! На этом этапе я испытываю желание стереть мою машину и выполнить чистую установку, но я надеюсь, что есть другой способ.

1 ответ

Решение

В итоге я просто стер свой диск и переустановил Ubuntu 16.04 LTS. Это решило вторую проблему полностью, но не затронуло первую. Я пытался удалить и переустановить Anaconda, а также пробовал Python 3, ни один из которых не сработал. К счастью, единственная вещь, для которой мне нужна эта библиотека python - это немного кода, который я собирался переписать в elisp, так что я могу обойти эту проблему.

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