當你發現這個變量是.pyd
文件(dll files爲Python)的一部分。 PyCharm無法獲取此文件內容的簽名。
對於Python內建命令(如abs
,all
,any
等)PyCharm具有它是隻爲簽名和文檔使用自己.py
文件。你可以看到它,如果你點擊一些這個funcs中的,去它的聲明:
![enter image description here](https://i.stack.imgur.com/aVxSC.png)
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(在項目首選項中)。有關詳細手冊,請參閱this link。
您是否收到實際的錯誤或只是警告? –
可能非常重要的線索:錯誤是什麼意思?如果您將鼠標懸停在紅色捲曲線上,PyCharm會說什麼? – Ian
你有沒有試過明確地導入這些東西?我會嘗試'import gimpfu',然後像'gimpfu.RGBA_IMAGE'那樣訪問這些常量。 – fodma1