21

いくつかの新しい情報(および報奨金)で大幅に編集

gimp用のpythonでプラグインを作成しようとしています。(Windows の場合) このページhttp://gimpbook.com/scripting/notes.htmlでは、シェルから実行するか、~/.xsession-errors を参照することをお勧めします。

どちらも機能しません。私はそれをcmdシェルから実行することができます

gimp-2.8.exe -c --verbose ## ( http://gimpchat.com/viewtopic.php?f=9&t=751で提案)

これにより、「pdb.gimp_message(...)」からの出力が端末に送られます。

しかし !!!これは、すべてが期待どおりに実行されている場合にのみ機能します。クラッシュ時に出力が得られません。

printステートメントを試しましたが、どこにも行きません。

この他の男も同様の問題を抱えていましたが、議論は脇道に逸れました。 通常、プラグインは機能しません。デバッグするにはどうすればよいですか?


いくつかの場所で、python-fu コンソール内から実行するように推奨されていました。

これは私をどこにも連れて行きません。エラーが発生するため、import gimpfu をコメントアウトする必要があり、gtk が機能しません。


私の現在の問題は、プラグインが登録されてメニューに表示されても、エラーが発生して期待どおりに動作しない場合、どこからヒントを探し始めればよいかわからないことです。(私はあらゆる種類のコンテキストで、選択なし、画像なしでクリックしてみました。)

http://gimpbook.com/scripting/からサンプル プラグインをコピーして実行することができまし た。動作するようになりましたが、変更を加えたときに何かが壊れてしまい、既存のプログラムを 1 行ずつモーフィングしていました。面倒です(毎回gimpをシャットダウンして再起動する必要があります)


要約すると-

1- gimp を再起動せずにプラグインを更新できますか? (だから少なくとも私の遅いモーフは速くなるだろう)

2- python-fu シェルからプラグインを実行できますか。(それらが解析されることを確認するためにそれらをインポートするのではなく。)

3- 行方不明のエラー ログがありますか、それとも何か影響がありますか?

4- シェルから Windows で gimp を実行して出力を表示する方法はありますか? (cygwin(またはvirtualbox ..)の下での方が良いですか?)

5- winpdb を既存のプロセスに接続する方法をまだ調べていません。gimp内で実行されるpythonプロセスに接続するにはどうすればよいですか?

ありがとう

4

3 に答える 3

4

Gimp pythonスクリプトでコンソールに情報を出力するにはどうすればよいですか? に記載されているように

追加

import sys
sys.stderr = open( 'c:\\temp\\gimpstderr.txt', 'w') 
sys.stdout = open( 'c:\\temp\\gimpstdout.txt', 'w')

プラグインファイルの先頭。

于 2014-01-03T06:47:34.073 に答える
2

私はpythonの初心者ですが、最初にwinpdbに、次にwinpdbをGIMPに統合するためのこのコメントに叫びたいと思います。これと同じ手順が LibreOffice 4 でも機能します。

少し吐き出させて頂ければと思います。私は Visual Basic の経験がある程度あり、多かれ少なかれ趣味レベルですが、数年前、MicroSoft が Mac 用の VB を放棄すると脅したとき、OpenOffice に参入することにしました。OpenOffice の VB が面倒だったとは言いたくありませんが、IDE に似たものがないのは面倒です。さて、winpdb を使用すると、過去を振り返ることはありません。ここから先はパイソンだ、ベイビー。

実行した手順:

-- 上記の Omid が示唆したように、最初に winpdb で GIMP を使い果たしました (比較的痛みはありません)。

-- rpdb2.py ファイルを C:\Program Files\LibreOffice 4\program\python-core-3.3.3\lib\site-packages\rpdb2.py にコピーしました。(Win 7、LibreOffice 4.4.03)

-- C:\Program Files\LibreOffice 4\share\Scripts\python ディレクトリにある HelloWorld.py ファイルを編集しました (同じディレクトリに WinPDb_HelloWorld.py に保存されています)。

# HelloWorld python script for the scripting framework
# This file is part of the LibreOffice project.
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. blah, blah, blah ...

import rpdb2
#rpdb2.start_embedded_debugger("Your Password Here")    # << DON'T start debugger here.
    # It only gets you lost in the LO python wrapper when debugging.

def HelloWorldPython( ):
    """Prints the string 'Hello World(in Python)' into the current document"""

    # start debugger INSIDE function, where it will be called from LO Macros -- Duh!!
    rpdb2.start_embedded_debugger("YourPasswordHere") 

    #get the doc from the scripting context which is made available to all scripts
    desktop = XSCRIPTCONTEXT.getDesktop() 
    #... etc., see HelloWorld.py

WinPDb_HelloWorld は、マクロ セレクターの LibreOffice マクロの下に表示されます (詳細については、https: //wiki.openoffice.org/wiki/Python_as_a_macro_language を参照してください)。

(写真はお見せできません - ゲストとして投稿しています)

于 2015-09-27T13:51:56.893 に答える