在Mac OS上执行Python GIMP脚本

时间:2017-06-01 10:36:03

标签: python bash macos gimp

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

我做了什么:

  • 安装了.dmg发布的GIMP
  • 已安装的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

我不知道如何解决这个问题!

1 个答案:

答案 0 :(得分:2)

gimpfu仅在从Gimp启动脚本时可用。有两种情况:

  • 该脚本是一个常规插件,它至少应包含对register(...)的调用和对main()的调用。这将它标识为Gimp,可以从Gimp UI调用它。请注意,最好将它保存在Gimp profile的插件目录中,并且不是 Gimp安装目录。由于您使用的是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(此处使用当前目录)。您可以永久地扩展常规Python路径。
  • 脚本已添加到Python:import batch(假设脚本位于./batch.py
  • 使用任何相关参数调用该文件中的run()方法

注意单引号和双引号,一些用于Python,一些用于shell解释器。

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