1-我可以在不重新启动 gimp 的情况下刷新插件吗?(所以至少我的慢变会更快)
添加脚本或更改 register() 时必须重新启动 GIMP。更改脚本的其他部分时无需重新启动——它作为一个单独的进程运行,并且每次都会从磁盘重新读取。
有用的来源:
http: //gimpbook.com/scripting/notes.html
2-我可以从 python-fu shell 运行插件吗?(而不是仅仅导入它们以确保它们解析。)
python-fu
是的,您可以通过以下方式访问您在控制台中注册的插件:
>>> pdb.name_of_registerd_plug-in
并且可以这样称呼它:
>>> pdb.name_of_registerd_plug-in(img, arg1, arg2, ...)
同样在python-fu
对话框控制台中,您可以单击Browse ..
选项并找到您注册的插件,然后单击Apply
,将其导入python-fu
控制台。
有用的来源:
http ://registry.gimp.org/node/28434
3-是否有我遗漏的错误日志,或类似的东西?
要记录,您可以定义如下函数:
def gimp_log(text):
pdb.gimp_message(text)
并随时在您的代码中使用它。
要查看该日志,请在gimp
程序中Error Console
从菜单Dockable Dialogs
中打开Windows
,否则每次创建日志时都会弹出一个消息框。
你也可以重定向stdin
到stdout
一个文件,:
import sys
sys.stderr = open('er.txt', 'a')
sys.stdout = open('log.txt', 'a')
当您这样做时,所有内容都exceptions
将转到err.txt
并且所有打印输出都将转到log.txt
注意使用a
选项打开文件而不是w
保留日志文件。
有用的来源:
如何在 Gimp python 脚本中将信息输出到控制台?
http://www.exp-media.com/content/extending-gimp-python-python-fu-plugins-part-2
4-有没有办法从shell在windows上运行gimp来查看输出?(在cygwin(或virtualbox ..)下我会更好吗)?
我有一些错误,但可以再试一次......
5-我还没有查找如何将 winpdb 连接到现有进程。我将如何将它连接到在 gimp 中运行的 python 进程?
首先安装winpdb和wxPython(Winpdb GUI 依赖于 wxPython)
请注意,它Gimp
有自己的 python 解释器,您可能想安装winpdb
到默认的 python 解释器或 gimp python 解释器。
如果您安装winpdb
到默认的 python 解释器,则需要将rpdb2.py
安装的文件复制到..\Lib\site-packages
gimp python 解释器路径。
之后,您应该能够从gimp 的控制台导入pdb2
模块:Python-Fu
GIMP 2.8.10 Python Console
Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)]
>>> import rpdb2
>>>
现在在您的插件代码中,例如在您的 main 函数中添加以下代码:
import rpdb2 # may be included out side of function.
rpdb2.start_embedded_debugger("pass") # a password that will asked by winpdb
接下来,去gimp运行你的python插件,当你运行你的插件时,它会运行,然后等待到达上面的代码。
现在打开Winpdb GUI
去..\PythonXX\Scripts
运行winpdb_.pyw
。
(请注意,当使用 Winpdb 进行远程调试时,请确保途中的任何防火墙都打开了 TCP 端口 51000。请注意,如果使用端口 51000,Winpdb 将搜索 51000 和 51023 之间的替代端口。)
然后Winpdb GUI
从File
菜单中选择attach
并pass
为其提供密码,然后您可以在该列表中看到您的插件脚本,选择它并逐步开始调试。
![使用 Winpdb 调试 python gimp 插件](https://i.stack.imgur.com/1TuJL.jpg)
有用的资源:
在 Windows 上安装 PyGIMP
有用的资源:
http://wiki.gimp.org/index.php/Hacking:Plugins
http://www.gimp.org/docs/python/index.html
http://wiki.elvanor.net/index.php/GIMP_Scripting
http://www.exp-media.com/gimp-python-tutorial
http://coderazzi.net/python/gimp/pythonfu.html
http://www.ibm.com/developerworks/opensource/library/os-autogimp/os-autogimp-pdf.pdf