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

GIMP 2.10 Python-如何导入自定义模块?,python,plugins,gimp,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\插件 我尝试通过添加句点来使用显式相对 from .path_tool

我最近从2.8更新到了2.10 GIMP,似乎我导入自定义(相对)*.py文件的插件都不再工作了。我剖析了代码,它不是“path_tools.py”文件的内容,它只是尝试导入自定义模块的行为(即使它是一个空文件,也无法工作)。如果没有这行代码,它在GIMP中显示得很好:

from path_tools import *
插件和path_tools.py都在同一个文件夹中

\AppData\Roaming\GIMP\2.10\插件

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

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”这样的常规模块


(如果这是一个非常愚蠢的问题,很抱歉,我只在GIMP插件中使用Python。)

似乎嵌入GIMP 2.10的Python解释器使用
/
作为路径分隔符,而GIMP 2.10在Windows上使用
\

讨论了这个问题

创建一个名为
C:\Program Files\GIMP 2\32\lib\python2.7\sitecustomize.py的文件,并包含以下内容,似乎可以解决此问题

import sys
class Issue1542:
    def __del__ (self):
        if len (sys.argv[0]):
            from os.path import dirname
            sys.path[0:0] = [dirname (sys.argv[0])]
sys.argv = Issue1542 ()

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

import os
import sys

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

这可能与此相关:“解决此问题的一个快速方法是将附加文件保存在
C:\Program Files\GIMP 2\32\lib\python2.7\sitecustomize.py
”谢谢!确实如此,语句应该是
sys.path.append(os.path.dirname(_文件__))
谢谢@DibloDk-更正了这个问题