Ошибка объединения Невозможно импортировать: GTK+; Нет модуля с именем репозиторий

Раньше Meld работал на моей машине (openSuse Linux 13.1, Python 2.7.6), но после проблем со Spyder (например, он отказывался запускать какие-либо скрипты) я удалил большое количество вещей, а затем медленно вернул их обратно.

С тех пор мельд больше не работает. Я продолжаю получать это сообщение об ошибке

> meld
Cannot import: GTK+
No module named gi

Я смог решить эту проблему, установив gi:

> pip install gi

Теперь ошибка заменена на:

> meld
Cannot import: GTK+
No module named repository

... и здесь аналогичный вопрос, где удаление gi, по-видимому, помогло? Я в замешательстве. Я попытался удалить его снова, но это просто вернуло меня к предыдущей ошибке (да!).

Любые идеи?


person Zak    schedule 21.12.2015    source источник


Ответы (3)


Хорошо, это было не очевидно:

gi.repository не часть gi, а отдельная вещь. Вот почему gi не следует устанавливать (спасибо Лось).

Эта статья затем указал мне на возможный источник, python-gobject. Однако он у меня уже был установлен. Поэтому я установил другие похожие вещи, и пакет python-gobject-cairo (Python 2.7, openSuse 13.1) сделал свое дело. Похоже, кто-то упустил из виду зависимость для Meld...

person Zak    schedule 22.12.2015
comment
пишет, что не удалось найти пакет python-gobject-cairo. Пожалуйста помоги - person huskygrad; 07.07.2017
comment
@sanket: Это когда ты работаешь yum install python-gobject-cairo? Вы также используете openSuse 13.1? С тех пор я перешел на Leap 42, и он находится в основном репозитории, поэтому я предполагаю, что он должен быть и в 13.1. Вы уверены, что ваши репозитории настроены правильно? - person Zak; 26.07.2017

Я отвязал файл, который отображался в Ожидается через:

Ожидается в: /Applications/Meld.app/Contents/Frameworks/libz.1.dylib

unlink /Applications/Meld.app/Contents/Frameworks/libz.1.dylib
person ishandutta2007    schedule 12.12.2017

После смены python3 с версии 3.7 на 3.6 ошибка исчезла.

Я сделал это:

sudo apt-get install python3.6
sudo rm /usr/bin/python3
sudo ln -s /usr/bin/python3.6 /usr/bin/python3
person Jake Finn    schedule 14.05.2019