GIMP Python-fu でgimp.message()が出ない
ダイアログでなくエラーコンソールなら出た。
情報源
- https://qiita.com/am10/items/5c62cda827c405932064
- http://gimpbook.com/scripting/slides30/gimpscripting.html
- https://qiita.com/dhomma/items%0A/f33ecd1c4d4c6ece7685
- https://www.gimp.org/docs/python/index.html
結論
gimp.message()
の内容はエラーコンソールに出せた。
まずはエラーコンソールを表示する。
- GIMP起動
- メニュー
ウインドウ
→ドッキング可能なダイアログ
→エラーコンソール
次にpython-fuコンソールでメッセージ表示コードを実行する。
- メニュー
Filters
→Python-fu
→コンソール
- 以下コードを入力してEnterする
gimp.message("Hello World")
画面右側にあるエラーコンソールに、小さく「Hello World」と表示された。
なお、以降は上記エラーコンソールを表示しておらず、ダイアログが出ることを期待していた。ダイアログは結局出なかった……。
コード1
- GIMP起動
- メニュー
Filsters
→Python-fu
→コンソール
クリック - 以下のコードをペーストして実行する
pdb.gimp_message('This is displayed as a message')
何も表示されない……。
コード2
cd ~/.config/GIMP/2.10/plug-ins
vim gimp_plugin.py
#!/usr/bin/env python # -*- coding: utf-8 -*- # https://qiita.com/am10/items/5c62cda827c405932064 from gimpfu import * def plugin_main(image, layer): gimp.message("Hello World") register( "hello_world",#コマンドラインまたはスクリプトから呼び出す場合のコマンドの名前 "Show hello world",#プラグインの説明 "Show hello world(detail)",#プラグインの詳細な説明 "author",#プラグインの作成者 "copyright",#プラグインの著作権保有者 (通常は author と同じ) "2020/01/01",#著作権の日付 "helloworld", #メニューの中でプラグインに使用されるラベル "RGB*", #プラグインで処理する対象となる画像のタイプex. RGB*, GRAY* など [],#引数(型, 名前(プロシージャブラウザに表示される),説明, 初期値) [], # 戻り値 # plugin_main) # メソッド名 plugin_main, menu = "<Image>/Filters/") # 登録するメニュー位置 main()
chmod +x gimp_plugin.py
実行権限を付与しないとメニュー項目がグレーアウトする。なのでchmod
すること。
実行
- GIMP起動
- メニュー
ファイル
→新しい画像
- メニュー
Filsters
→helloworld
クリック
何も出ない……。
調査
PyGTKが必要らしい。
$ pip search pygtk PyGTK (2.24.2) - Python bindings for GTK
$ pip list | grep gtk
$
ない。入れよう。
pip install PyGTK
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting PyGTK Downloading https://files.pythonhosted.org/packages/7c/18/fa4f2de77500dd62a314fd845ff6e903ac2ce551164cb421c5750969f799/pygtk-2.24.0.tar.bz2 (2.4MB) 100% |████████████████████████████████| 2.4MB 159kB/s Complete output from command python setup.py egg_info: ******************************************************************** * Building PyGTK using distutils is only supported on windows. * * To build PyGTK in a supported way, read the INSTALL file. * ******************************************************************** ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-Y08u10/PyGTK/
エラー……。pip3
でも同様。
pip
がダメならapt
で。
$ apt search PyGTK ... python-gtk2-dev/stable,stable 2.24.0-5.1 all GTK+ bindings: devel files ...
sudo apt -y install python-gtk2-dev
この操作後に追加で 35.0 MB のディスク容量が消費されます。
入った。しかし実行手順を踏んでも何も表示されず……。
所感
独自の環境だと勝手がわからない。
対象環境
- Raspbierry pi 4 Model B
- Raspbian buster 10.0 2019-09-26 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux