Я использую Ubuntu 12.04 с Python 2.7.3 и PyGObject, и я хотел бы разработать плагины для Gedit в Python. Я нашел просто выглядящее учебное руководство для этого вида вещи здесь.
Согласно учебному руководству, мне нужен модуль Gedit для взаимодействия со сменным интерфейсом:
from gi.repository import GObject, Gedit
Я продолжаю получать ошибку импорта при попытке импортировать модуль Gedit. Так, мой вопрос: какой пакет я должен установить для получения этого модуля?
Я попробовал: gedit-dev
, gedit-plugins
Править: Вот полный traceback для вышеупомянутого оператора:
ERROR:root:Could not find any typelib for Gedit
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name Gedit
Для ответа на вопрос typelib, Вам нужно для разработки gedit, плагины содержится в самом gedit пакете.
$ apt-file search Gedit-3.0.typelib
gedit: /usr/lib/gedit/girepository-1.0/Gedit-3.0.typelib
, Но при использовании Python или в интерактивном режиме или из сценария, from gi.repository import Gedit
поиски /usr/lib/girepository-1.0/
, а не /usr/lib/gedit/girepository-1.0
. Это - причина ошибки импорта.
необходимо будет создать соответствующий .plugin и .py файлы в ~/.local/share/gedit/plugins и выполнить код путем выбора плагина в gedit предпочтительном диалоговом окне.
Ошибка импорта для Gedit
может указать, что GtkSource-3.0.typelib
отсутствует или не установленный правильно.
Типичные признаки, кроме того, что Вы не можете загрузить несколько плагинов (не только тот, который Вы разрабатываете сами), и что Вы получаете предупреждения при запуске gedit
из командной строки (замеченный на Дерзкой Ubuntu 13.10). Можно зафиксировать это путем установки недостающего пакета:
sudo apt-get install gir1.2-gtksource-3.0
См. также: Предупреждения при запуске gedit от терминала
Ubuntu Также отмечают что плагины использованием GEdit v3 python3
вместо версии 2.7.x Python.
Я получаю ту же ошибку как Вы, если я выполняю сменный код непосредственно без Gedit.
, Поскольку описано в руководстве, что Вы связались, необходимо сделать .plugin файл для сменного кода. Поместите свой сменный код и .plugin файл в ~/.local/share/gedit/plugins. Перезапуск Gedit. Откройте Gedit> Edit> Preferences> Plugins и ищите свой плагин. Установите галочку для своего плагина. Ваш плагин shoud выполненный теперь использование кода Gedit.
Для проверки ошибок в плагине запустите gedit с консоли.