2017-06-01 12 views
0

Mac OSでGIMPライブラリを使用する家庭用のPythonスクリプトを実行するには、助けが必要です。 GNU-Linux OSでうまく動作するので、スクリプトは大丈夫です。Mac OSでのPython GIMPスクリプトの実行

私が何をしたか

~/Library/Application Support/GIMP/2.8/plug-ins

  • 追加で私のPythonスクリプトをコピーし.dmg分布
  • インストール済みのPython 2.7.13
    • インストールGIMPは許可私の.bash_profileが追加修正chmod +x myScript.py
    • を実行しますexport PYTHONHOME='/Library/Frameworks/Python.framework/Versions/2.7'

    私は端末からスクリプトを実行しようとすると、私が得る:

    ImportError: No module named gimpfu 
    

    私はこの問題を解決する方法がわかりません!

  • +0

    gimpの外側でgimpプラグインを実行しようとしていますか?それはうまく動作しないと思われますが、プラグインはgimpの中から実行されるだけです。あなたは_を追加することができました '.../ GIMP/2.8/python'ディレクトリを 'PYTHONPATH'にコピーしてgimpの外側で使用できるようにします。 – mata

    答えて

    2

    gimpfuは、Gimpからスクリプトを起動した場合にのみ利用できます。 2例があります。

    • スクリプトは通常のプラグインです、それは、少なくとも登録するコール(...)とメイン()の呼び出しを含んでいなければなりません。これはそれをGimpに特定し、GimpのUIから呼び出すことができます。 Gimp profileのプラグインディレクトリに保存し、ではなく、のGimpインストールディレクトリに保存することをお勧めします。あなたはOSX上にいるので、Pythonファイルを簡単にアクセスできる(そしてバックアップする)ディレクトリに保存し、Gimpプロファイルのソフトリンクを追加することをお勧めします。

    • スクリプトは単なるバッチモードで使用するスクリプトで、プラグインディレクトリにある必要はなく、Gimpから呼び出される必要があります。これはGimpを呼び出してスクリプトを渡します。

      gimp -idf --batch-interpreter python-fu-eval -b 'import sys; sys.path=["."]+sys.path;import batch;batch.run("./images")' -b 'pdb.gimp_quit(1)' 
      

    sys.path=["."]+sys.path(彼女:PythonのパスはPythonのファイルがロードされるからディレクトリを含むように拡張され

    • のようなコマンドラインでパラメータを、現在のディレクトリが使用されます)。おそらく、一般的なPythonパスを永久に拡張することができます。
    • スクリプトはPythonに追加されます。import batchは、そのファイル内のrun()メソッドは、任意の適切なパラメータ

    マインド単一引用符と二重引用符で呼び出され

  • (スクリプトが./batch.pyであると仮定されます)いくつかはPython用で、一部はシェルインタプリタ用です。

    コマンドラインから直接スクリプトを呼び出すのにメリットがあることに注意してください。この時点で多くの(しかしすべてではありませんが)構文エラーがキャッチされ、Gimpが起動するのを待つ必要はありませんこれらを見つける。

  • 関連する問題