2024-05-19 00:00:40 发布
网友
我想用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菜单中。在这种情况下,如何获得错误输出?
这是预期的行为。GIMP的Python插件有一个不同寻常的设计:不要直接调用Python脚本,而是调用GIMP,GIMP依次调用脚本(GUI和命令行脚本都是这样)。
确保在脚本末尾注册中心函数:
from gimpfu import * # ... your script ... args = [(PF_STRING, 'file', 'GlobPattern', '*.*')] # adjust to your function register('my-script', '', '', '', '', '', '', '', args, [], my_function) main() # GIMP's main(), do not write your own!
将脚本标记为可执行
chmod +x my_script.py
复制、移动或硬链接脚本,使其位于GIMP的插件目录中:
ln my_script.py ~/.gimp-2.8/plug-ins/my_script.py
现在可以调用将调用脚本的GIMP(警告:GIMP有点慢)
gimp -i -b '(my-script RUN-NONINTERACTIVE "example.png")' -b '(gimp-quit 0)'
如上所述,不要这样做:
python my_script.py # bad!
括号是因为它是一个Scheme函数调用。出于同样的原因,您必须用下划线替换可用函数列表中的所有连字符(可以在GIMP GUI的Help > Procedure Browser下找到)。
Help > Procedure Browser
如果需要示例脚本,请签出the documentation或my script。
Python插件不出现在GIMP中的一个常见原因是语法错误。一种快速、可编写脚本的检查方法:
python -m py_compile vvv.py
在Windows平台上,成功的编译将返回0的%errorlevel%。
%errorlevel%
根据您的操作系统,您必须查找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
看看this网站。主要是幻灯片非常有用。
如果要以批处理模式运行脚本,请查看this
这是预期的行为。GIMP的Python插件有一个不同寻常的设计:不要直接调用Python脚本,而是调用GIMP,GIMP依次调用脚本(GUI和命令行脚本都是这样)。
确保在脚本末尾注册中心函数:
将脚本标记为可执行
复制、移动或硬链接脚本,使其位于GIMP的插件目录中:
现在可以调用将调用脚本的GIMP(警告:GIMP有点慢)
如上所述,不要这样做:
括号是因为它是一个Scheme函数调用。出于同样的原因,您必须用下划线替换可用函数列表中的所有连字符(可以在GIMP GUI的
Help > Procedure Browser
下找到)。如果需要示例脚本,请签出the documentation或my script。
Python插件不出现在GIMP中的一个常见原因是语法错误。一种快速、可编写脚本的检查方法:
python -m py_compile vvv.py
在Windows平台上,成功的编译将返回0的
%errorlevel%
。根据您的操作系统,您必须查找GIMP插件的目录,例如:
把你的剧本抄下来。当然,你必须添加这样的注册信息:
将脚本复制到具有正确注册内容的正确目录后,可以运行GIMP并在“注册内容”中选择的下拉菜单中运行脚本。 您不必从python控制台运行它。所以这些不起作用:
要从gimp以交互方式打开python fu控制台来调试脚本,请执行以下操作:
看看this网站。主要是幻灯片非常有用。
如果要以批处理模式运行脚本,请查看this
相关问题 更多 >
编程相关推荐