2

pythonfu を使用して gimp スクリプトを作成しようとしています。ただし、スクリプトをローカルで実行しようとすると、エラーが発生します

`--> ./vvv.py
Traceback (most recent call last):
  File "./vvv.py", line 5, in <module>
    from gimpfu import *
ImportError: No module named gimpfu

私は、スクリプトは gimp を介してのみロード可能である可能性があると考えています。ただし、スクリプトは gimp メニューには表示されません。その場合、エラー出力を取得するにはどうすればよいですか?

4

4 に答える 4

5

OS によっては、次のような GIMP プラグインのディレクトリを探す必要があります。

GIMP 2\lib\gimp\2.0\plug-ins 

そこにスクリプトをコピーします。もちろん、次のような登録内容を追加する必要があります。

register(
    "python-fu-draw",                                #<- this is plugin name
    N_("brief"),                                     #<- description
    "Long",                                          #<- description
    "name surname",                                  #<- author
    "@Copyright 2013",                               #<- copyright info
    "2013/10/29",                                    #<- creation date
    N_("_Draw..."),                                  #<- label shown in gimp's menu
    "",  #<- kind of image requested from your script (INDEX,RGB,...and so on)
    [                                                #<- input parameters array
        (PF_FILE, "ifile", N_("Color input file"), 'default.txt'),
],
[],                                                  #<- output parameters array (usually empty)
draw,                                                #<- main method to call 
menu="<Image>/Filters/",                             #<- Where add your plugin
domain=("gimp20-python", gimp.locale_directory) 
)

main()                                               #<- don't forget this

スクリプトを適切なディレクトリにコピーし、適切な登録内容を指定したら、GIMP を実行し、登録内容で選択したドロップダウン メニューでスクリプトを選択して実行できます。Python コンソールから実行する必要はありません。したがって、それらは機能しません:

python myscript.py
./myscript.py
>>> myscript

スクリプトをインタラクティブにデバッグするには、gimp から python-fu コンソールを開きます。

Filters->Python-fu->Console

このウェブサイトを見てください。主にスライドは非常に便利です。

スクリプトをバッチモードで実行したい場合は、こちらをご覧ください

于 2013-10-30T12:50:36.240 に答える
0

元の投稿の言い換え: Python GIMP プラグインを作成し、適切な場所にインストールしましたが、GIMP の [フィルター] メニューに表示されないので、どうすればデバッグできますか?

最も一般的な原因は、プラグインのソース (.py) ファイルを適切な場所にコピーしたときに、実行権限を与えなかったことです。(実行権限のない Python プラグイン ソースを読み取らないというのは、GIMP の既知の癖です。)

もう 1 つの質問として、プラグインが GIMP フィルター メニューに表示されますが、黙って期待どおりに動作しません。どうすればデバッグできますか?

コンソール(ターミナル)でGIMPを起動して、プラグインからのデバッグ出力がコンソールに送信されるようにするか、別の回答で提案されているように Filters>Python-Fu>Console を使用できます。

プラグインがクラッシュすると、GIMP GUI にトレースバックが表示されるか、GIMP を起動したコンソールに表示されます。

別の質問として、PyGimp モジュールをインポートする Python スクリプトをデバッグできますか? (最も一般的なのは、他の PyGimp モジュールをインポートするオムニバス モジュールである gimpfu です。) たとえば、GIMP Python プラグインで使用する Python モジュールがあり、GIMP を起動せずにその一部をテスト (たとえば、doctest) したい場合があります。 .

標準で PyGimp を (Python ディレクトリに) インストールできる場合があります: ダウンロード PyGimp、.configure、make、make install。(私はそれを試したことがなく、PyGimp のダウンロード可能なソース パッケージを簡単に見つけることができませんでした。) 通常、PyGimp モジュールは GIMP と共にインストールされ、Python ディレクトリにはインストールされません (GIMP は、Python インタープリターを起動するときに PYTHON_PATH を操作するだけなので、 PyGimp モジュールが見つかったことを確認しますか?) または、(シェルまたは IDE の) 環境で PYTHON_PATH を変更して、PyGimp モジュールを保持する GIMP インストールのサブディレクトリを含めることができます。

于 2014-08-02T15:09:05.337 に答える
0

Python プラグインが暗黙のうちに GIMP に表示されない一般的な原因は、構文エラーです。迅速でスクリプト可能なチェック方法:

python -m py_compile vvv.py

Windows プラットフォームでは、コンパイルが成功すると%errorlevel%0 が返されます。

于 2013-11-09T07:08:14.397 に答える