J'utilise Ubuntu 12.04 avec python 2.7.3 et PyGObject et j'aimerais développer des plugins pour Gedit en python. J'ai trouvé un tutoriel simple pour ce genre de chose ici .
Selon le tutoriel, j'ai besoin du module Gedit pour interagir avec l'interface du plugin:
from gi.repository import GObject, Gedit
Je continue à recevoir une erreur d'importation lorsque j'essaie d'importer le module Gedit. Ma question est donc la suivante: quel paquet dois-je installer pour obtenir ce module?
J'ai essayé: gedit-dev
, gedit-plugins
Edit: Voici le trace complet de la déclaration ci-dessus:
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
Pour répondre à votre question, la bibliothèque de types dont vous avez besoin pour développer des plugins gedit est contenue dans le paquet gedit lui-même.
$ apt-file search Gedit-3.0.typelib
gedit: /usr/lib/gedit/girepository-1.0/Gedit-3.0.typelib
Mais lorsque vous utilisez python de manière interactive ou à partir d'un script, from gi.repository import Gedit
recherche /usr/lib/girepository-1.0/
plutôt que /usr/lib/gedit/girepository-1.0
. C'est la cause de l'erreur d'importation.
Vous devrez créer les fichiers .plugin et .py appropriés dans ~/.local/share/gedit/plugins et exécuter votre code en sélectionnant le plugin dans la boîte de dialogue des préférences de gedit.
Je reçois la même erreur que vous si je lance le code du plugin directement sans Gedit.
Comme cela est décrit dans le manuel que vous avez lié, vous devez créer un fichier .plugin pour votre code de plugin. Placez votre code de plugin et le fichier .plugin dans ~/.local/share/gedit/plugins. Redémarrez Gedit. Ouvrez Gedit> Édition> Préférences> Plugins et recherchez votre plugin. Définissez la coche pour votre plugin. Votre plugin devrait maintenant fonctionner en utilisant le code Gedit.
Pour vérifier les erreurs dans votre plugin, lancez gedit depuis une console.
Une erreur d'importation pour Gedit
peut indiquer que GtkSource-3.0.typelib
est manquant ou n'est pas installé correctement.
Les symptômes typiques sont en outre que vous ne pouvez pas charger plusieurs plugins (pas seulement celui que vous développez vous-même), et que vous recevez des avertissements lorsque vous démarrez gedit
à partir de la ligne de commande (vue sur Ubuntu 13.10 Saucy). Vous pouvez résoudre ce problème en installant le paquet manquant:
Sudo apt-get install gir1.2-gtksource-3.0
Voir aussi: Avertissements lors du lancement de gedit depuis le terminal Ubunt
Notez également que les plugins pour GEdit v3 utilisent python3
au lieu de la version 2.7.x de Python.