ギンプ:なぜこれを登録できないのですか?
質問
Blender を Gimp と同期するためのアドオンを作成しています。このスクリプトは Gimp 内から起動できるはずですが、登録できません...なぜ?
Blender_gimp_sync.py:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from gimpfu import *
def blender_gimp_sync():
image_dir = "/home/antoni4040/Έγγραφα/Layout.png"
image = gimp.pdb.gimp_file_load(image_dir, image_dir)
gimp.Display(image)
register(
"python_fu_bgsync",
"Blender-Gimp Sync",
"Syncronize Gimp with Blender for texturing",
"Antonis Karvelas",
"Antonis Karvelas",
"2012",
"<Image>/Image/Blender-Gimp Sync",
"*",
[],
[],
blender_gimp_sync
)
main()
本当に不思議ですね…
解決
どのエラーが発生しているかは述べていませんが、ソースファイルを投稿したので推測できると思います。GIMP は、プラグインがシステムによって実行可能であることを期待しています。そして、ファイルが特定のインタプリタまたはシェルで実行されるべきであることを Posix (Linux を含む) システムに伝えるのは、シバン行です。 #!/usr/bin/env python
あなたの例では。
ただし、この行は次のようにする必要があります。 初め ファイル内の行 - #!
その中の文字は、ファイルの最初の 2 文字である必要があります。文字エンコーディングを示す行 - # -*- coding: utf-8 -*-
この行の後に来る必要があります。ファイルの 2 行目でなければなりません。間に空白行はありません)。
最後に、Python ファイルに対して「chmod a+x」を実行して、スクリプトを実行可能として設定してください。
これに関連していますが、問題の原因ではありません。スクリプト メニュー名と一緒にメニュー パスを指定することは GIMP では非推奨です。これを行う正しい方法は、「date」パラメータの後に、表示する名前だけを渡すことです。メニュー内で -- "Sync" - を呼び出し、呼び出しの最後に次のようにメニュー パスを名前付きパラメータとして渡します。 menu="<Image>/Image/Blender-Gimp"