2017-06-01 68 views
0

我需要帮助才能执行在Mac OS上使用GIMP库的自制python脚本。 我确定这个脚本没问题,因为它在GNU-Linux操作系统上运行良好。在Mac OS上执行Python GIMP脚本

我所做的:

  • 安装GIMP与.dmg分布
  • 安装了Python 2.7.13
  • 复制在~/Library/Application Support/GIMP/2.8/plug-ins
  • 我的Python脚本添加执行权限chmod +x myScript.py
  • 修改了我.bash_profile加入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启动时才可用。有两种情况:

  • 脚本是一个普通的插件,它应该至少包含一个电话注册(...)和主()的调用。这标识它为Gimp,它可以从Gimp UI调用。请注意,将它保存在Gimp安装目录的Gimp profile而不是的插件目录中是最好的地方。由于您在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)' 
    

其中:

  • Python路径扩展到包括从其中的Python文件将被加载的目录:sys.path=["."]+sys.path(她e使用当前目录)。您可以永久扩展一般的Python路径。
  • 脚本被加入到了Python:import batch(脚本假定为./batch.py
  • 该文件中的run()方法被调用任何相关参数

心灵的单引号和双引号,一些用于Python,一些用于shell解释器。

请注意,直接从命令行调用脚本的方法有一些优点,此时会捕获很多(但不是全部)语法错误,并且您不必等待Gimp启动找出这些。