Auf meinem alten Laptop hatte ich ein nettes Setup. Ich habe gedit 3.4.1 auf Ubuntu 12.04 mit einigen netten Plugins laufen lassen:
- ZenCoding
- GDP-Abschluss
- GDP-Format
Dann starb mein Laptop einen glorreichen Tod und ich kaufte mir einen neuen Laptop und installierte 13.10 und begann, meine schöne Plugin-Anordnung wiederherzustellen, aber sie funktionierten nicht. Wenn ich versuche, Zencoding oder eines der GDP-Plugins zu aktivieren, wird ein Fehler angezeigt:
Das Plugin Zen Coding konnte nicht geladen werden. Ein Fehler ist aufgetreten: Plugin-Loader 'python2' wurde nicht gefunden
Ich habe Anweisungen gefunden, die eine Bearbeitung vorschlagen, ~/.local/share/gedit/plugins/zencoding.plugin
um den Loader zu optimieren, aber python
es wird ebenfalls „nicht gefunden“ angezeigt und wenn ich es ändere, python3
ändert sich der Fehler in „Ein Fehler ist aufgetreten: Fehler beim Laden“
Wie bekomme ich diese Plugins in gedit 3.8.3 unter 13.10 zum Laufen?
Antwort1
Alle in Python 2.x für GEdit geschriebenen Plug-Ins müssen portiert werden, um mit Python 3.x zu funktionieren und in GEdit auf Ubuntu 13.10 oder neuer zu funktionieren.
Wenn sie aus einem Paket im Ubuntu-Archiv stammen, sollten Sie einen Fehlerbericht für dieses Paket einreichen. Wenn Sie sie aus einer Upstream-Quelle installieren, ~/.local/share/gedit/plugins/
sollten Sie die Upstream-Entwickler der Plug-Ins kontaktieren, um sie auf Python 3.x portieren zu lassen.
Ich kenne keine spezielle Anleitung zum Portieren von Plug-Ins für GEdit auf Python 3.x, aber jede allgemeine Anleitung zum Portieren von Python 2.x auf Python 3.x sollte hilfreich sein. Idealerweise sollten die Plug-Ins mit beiden Versionen funktionieren, aber das Design des von GEdit und mehreren anderen GNOME-Anwendungen verwendeten Plug-In-Systems erlaubt es Plug-In-Autoren nicht, dies ohne weiteres zu tun. Das 2to3
Skript sollte einige Hinweise dazu geben, was im Plug-In-Code geändert werden muss, und die python-six
Bibliothek kann für die Kompatibilität zwischen beiden Versionen verwendet werden.