Какой пакет мне нужно установить для разработки плагинов для gedit?

Я использую Ubuntu 12.04 с Python 2.7.3 и PyGObject, и я хотел бы разработать плагины для Gedit в Python. Я нашел простое учебное пособие для такого рода вещей здесь.

В соответствии с руководством мне нужен модуль Gedit для взаимодействия с интерфейсом плагина:

from gi.repository import GObject, Gedit

Я получаю ошибку импорта при попытке импортировать модуль Gedit. Итак, мой вопрос: какой пакет мне нужно установить, чтобы получить этот модуль?

Я пробовал: gedit-dev, gedit-plugins

Изменить: Вот полный обратный след для приведенного выше утверждения:

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

3 ответа

Решение

Чтобы ответить на ваш вопрос, библиотека типов, необходимая для разработки плагинов 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.

Как описано в руководстве, которое вы связали, вам нужно создать файл.plugin для кода вашего плагина. Поместите код вашего плагина и файл.plugin в ~/.local/share/gedit/plugins. Перезапустите Gedit. Откройте Gedit > Изменить> Настройки> Плагины и найдите свой плагин. Установите флажок для вашего плагина. Теперь ваш плагин должен работать с использованием кода Gedit.

Чтобы проверить наличие ошибок в вашем плагине, запустите gedit из консоли.

Ошибка импорта для Gedit может указывать, что GtkSource-3.0.typelib отсутствует или неправильно установлен.

Кроме того, типичные симптомы заключаются в том, что вы не можете загрузить несколько плагинов (не только тот, который вы разрабатываете сами), и что вы получаете предупреждения при запуске gedit из командной строки (видно на Ubuntu 13.10 Saucy). Вы можете исправить это, установив отсутствующий пакет:

sudo apt-get install gir1.2-gtksource-3.0

Смотрите также: Предупреждения при запуске gedit из терминала Ubuntu

Также обратите внимание, что плагины для GEdit v3 используют python3 вместо версии 2.7.x Python.

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