web-dev-qa-db-ja.com

gedit用のプラグインを開発するには、どのパッケージをインストールする必要がありますか?

Ubuntu 12.04とpython 2.7.3およびPyGObjectを使用していますが、PythonでGeditのプラグインを開発したいと思います。この種の単純な見た目のチュートリアルを見つけました here

チュートリアルによれば、プラグインインターフェイスとやり取りするにはGeditモジュールが必要です。

from gi.repository import GObject, Gedit

Geditモジュールをインポートしようとすると、インポートエラーが発生し続けます。だから、私の質問は次のとおりです。このモジュールを取得するには、どのパッケージをインストールする必要がありますか?

試しました:gedit-devgedit-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
7
Wes

質問に答えるために、geditプラグインの開発に必要なtypelibは、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を検索します。これがインポートエラーの原因です。

〜/ .local/share/gedit/pluginsに適切な.pluginおよび.pyファイルを作成し、gedit設定ダイアログでプラグインを選択してコードを実行する必要があります。

2
K. P. MacGregor

Geditを使用せずにプラグインコードを直接実行すると、同じエラーが表示されます。

リンクしたマニュアルで説明されているように、プラグインコード用の.pluginファイルを作成する必要があります。プラグインコードと.pluginファイルを〜/ .local/share/gedit/pluginsに配置します。 Geditを再起動します。 Gedit> Edit> Preferences> Pluginsを開き、プラグインを探します。プラグインのチェックマークを設定します。プラグインはGeditコードを使用して実行されます。

プラグインのエラーを確認するには、コンソールからgeditを起動します。

4
swizman

Geditのインポートエラーは、GtkSource-3.0.typelibがないか、正しくインストールされていないことを示している可能性があります。

典型的な症状は、いくつかのプラグイン(自分で開発したものだけでなく)をロードできないこと、およびコマンドラインからgeditを起動すると警告が表示されることです(Ubuntu 13.10 Saucyで表示)。不足しているパッケージをインストールすることでこれを修正できます:

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

参照: buntuターミナルからgeditを起動する際の警告

また、GEdit v3のプラグインはPythonのバージョン2.7.xの代わりにpython3を使用することに注意してください。

1
Peterino