如您所见,此变量是.pyd
文件的一部分( Python 的dll 文件)。PyCharm 无法获取此文件内容的签名。
对于 Python 内置函数(如abs
、all
、any
等),PyCharm 有自己的.py
文件,仅用于签名和文档。如果您单击其中一些函数并转到它的声明,您可以看到它:
PyCharm 将builtins.py
在其文件夹中打开具有以下内容的文件:
def abs(*args, **kwargs): # real signature unknown
""" Return the absolute value of the argument. """
pass
def all(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for all values x in the iterable.
If the iterable is empty, return True.
"""
pass
def any(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for any x in the iterable.
If the iterable is empty, return False.
"""
pass
如您所见,函数已定义并记录在案,但没有实现,因为它们的实现是用 C 创建并放置在二进制文件中的某个位置。
Pycharm 不能为每个库提供这样的包装器。通常创建.pyd
文件的人会提供他们的.py
包装器(例如,PyQt 模块:没有本机 python 实现,只有签名)。
看起来 Gimp 对某些变量没有这样的包装器。我看到的唯一方法是手动创建某种自己的包装器。例如,gimpfu_signatures.py
使用以下内容创建:
RGBA_IMAGE = 1
TRANSPARENT_FILL = 2
NORMAL_MODE = 3
并在您创建插件时导入它:
from gimpfu import *
from gimpfu_signatures import * # comment on release
不优雅,但总比没有好。
...
gimpfu.py
关于' 路径的另一个注释。如果我理解正确,您只是将此路径添加到项目中。它可能有效,但正确的方法是将其添加到项目的 PYTHONPATH(在项目首选项中)。有关详细手册,请参阅此链接。