首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python不能导入gimpfu

python不能导入gimpfu
EN

Stack Overflow用户
提问于 2013-09-24 16:09:30
回答 4查看 14K关注 0票数 2

我正试着用pythonfu写一个gimp脚本。然而,当我试图在本地运行脚本时,我会得到一个错误

代码语言:javascript
复制
`--> ./vvv.py
Traceback (most recent call last):
  File "./vvv.py", line 5, in <module>
    from gimpfu import *
ImportError: No module named gimpfu

我想这个脚本可能只能通过gimp下载。但是,脚本不会出现在gimp菜单中。在这种情况下,如何获得错误输出?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-30 12:50:36

根据操作系统的不同,您必须查找GIMP插件的目录,如下所示:

代码语言:javascript
复制
GIMP 2\lib\gimp\2.0\plug-ins 

在那里复制你的剧本。当然,你必须添加一些类似这样的注册内容:

代码语言:javascript
复制
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控制台上运行它。这样就没用了:

代码语言:javascript
复制
python myscript.py
./myscript.py
>>> myscript

要以交互方式调试脚本,请从gimp打开python控制台:

代码语言:javascript
复制
Filters->Python-fu->Console

看一看网站。主要是幻灯片非常有用。

如果您想在批处理模式下运行脚本,请查看

票数 5
EN

Stack Overflow用户

发布于 2017-08-21 13:06:30

这是预期的行为。GIMP的Python有一个不同寻常的设计:不直接调用Python ,而是调用调用GIMP,后者依次调用脚本( GUI和命令行脚本都是如此)。

  1. 请确保在脚本末尾注册您的中心函数: 从金浦进口*# ..。你的剧本..。args = (PF_STRING,'file','GlobPattern','*.*') #调整到您的函数寄存器(‘my-script’,'',args,[],my_function) main() main()#GIMP的main(),不要写你自己的!
  2. 标记您的脚本可执行文件 chmod +x my_script.py
  3. 复制、移动或硬链接您的脚本,以便它位于GIMP的插件目录中: 在my_script.py ~/.gimp-2.8/插件/my_script.py
  4. 您现在可以调用GIMP,它将调用您的脚本(警告: GIMP有点慢) gimp -i -b‘(我的脚本运行-非交互式"example.png")’-b‘(gimp-退出0)’ 如上文所述,不要这样做: python my_script.py #坏!

括号是因为它是一个Scheme函数调用。出于同样的原因,您必须将可用函数列表中的所有连字符替换为下划线(可以在Help > Procedure Browser下的GIMP中找到)。

如果您需要一个示例脚本,请查看文献资料我的剧本

票数 5
EN

Stack Overflow用户

发布于 2013-11-09 07:08:14

Python插件没有出现在GIMP中的一个常见原因是语法错误。一种快速的、脚本化的检查方法:

python -m py_compile vvv.py

在Windows平台上,成功的编译将返回%errorlevel%为0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18986723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档