GIMP 2.10 Python-如何导入自定义模块?

时间:2019-01-17 11:48:03

标签: python plugins gimp

我最近从2.8升级到了2.10 GIMP,看来导入自定义(相对)*。py文件的所有插件都不再起作用。我剖析了代码,这不是“ path_tools.py”文件的内容,这只是尝试导入自定义模块的行为(即使它是一个空文件,仍然无法使用)。没有这一行代码,它会很好地显示在GIMP中:

from path_tools import *

插件和path_tools.py都在同一文件夹中

\ AppData \ Roaming \ GIMP \ 2.10 \ plugins

我尝试通过添加句点来使用显式相对

from .path_tools import *
from ..path_tools import *
from ...path_tools import *
etc.

我尝试通过在文件底部添加一个空的GIMP效果将文件转换为插件,以查看GIMP是否只是以某种方式忽略了我的文件

def path_tools(img, drw):

    return


register(
    "python-fu-path-tools",
    "Path Tools",
    "",
    [...]

然后在命令提示符下打开GIMP

 "c:\program files\gimp 2\bin\gimp-2.10" --verbose --console-messages

对于每个不会加载的插件,它只是给了我很多这样的信息:

  Querying plug-in: 'C:\Users\ \AppData\Roaming\GIMP\2.10\plug-ins\path_tools.py'
  c:\program files\gimp 2\bin\gimp-2.10: LibGimpBase-WARNING: gimp-2.10: gimp_wire_read(): error

但这些似乎是警告,尤其是由于另一个我无法加载的插件存在此实际错误,出于类似的原因,我猜测:

  GIMP-Error: Unable to run plug-in "export-ALL.py"

与顶部的这些警告有关吗?

Parsing 'c:\program files\gimp 2\lib\gimp\2.0\interpreters\pygimp.interp'
GIMP-Warning: Bad interpreter referenced in interpreter file c:\program files\gimp 2\lib\gimp\2.0\interpreters\pygimp.interp: python

GIMP-Warning: Bad binary format string in interpreter file c:\program files\gimp 2\lib\gimp\2.0\interpreters\pygimp.interp

我只是不知道发生了什么或该怎么做。有没有我可以放置文件的目录,插件可以看到该目录?因为它确实可以导入常规模块,例如“ sys”,“ os”。

(抱歉,这是一个非常愚蠢的问题,我仅将Python用于GIMP插件。)

2 个答案:

答案 0 :(得分:1)

似乎在Gimp 2.10中嵌入的Python解释器使用@IBAction sliderValueChanged作为路径分隔符,而在Windows上Gimp 2.10使用// ... let maxSum = 20 // ... @IBAction func sliderValueChanged(_ sender: UISlider) { let sum = slider1.value + slider2.value + slider3.value + slider4.value // better: use outlet collection if (sum > maxSum) { let overflow = sum - maxSum sender.value = sender.value - overflow } }

此问题已在here中进行了讨论。

创建具有以下内容的名为/的文件似乎可以解决此问题。

\

答案 1 :(得分:0)

您可以在导入模块之前将运行文件的包含目录的路径入侵到sys.path中:

import os
import sys

sys.path.append(os.dirname(__file__))
import path_tools