Come hai trovato le variabili sono parte di .pyd
file (dll files per Python). PyCharm non può ottenere firme per il contenuto di questi file.
Per builtins Python (come abs
, all
, any
, etc.) PyCharm ha il proprio .py
file che utilizza solo per le firme e documenti. Lo si può vedere se si fa clic su alcune di queste funcs e andare ad esso di dichiarazione:
PyCharm aprirà builtins.py
file in è la cartella con i seguenti contenuti:
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
Come si vedi le funzioni sono definite e documentate, ma non hanno implementazione, perché la loro implementazione è stata creata con C e posizionata da qualche parte nel file binario.
Pycharm non può fornire tale wrapper per ogni libreria. Di solito le persone che hanno creato i file .pyd
forniscono i loro wrapper .py
(ad esempio, modulo PyQt: nessuna implementazione Python nativa, solo firme).
Sembra che Gimp non abbia tale wrapper per alcune variabili. L'unico modo che vedo è creare manualmente una specie di proprio wrapper. Ad esempio, creare gimpfu_signatures.py
con seguente contenuto:
RGBA_IMAGE = 1
TRANSPARENT_FILL = 2
NORMAL_MODE = 3
e importarlo durante la creazione di plug-in:
from gimpfu import *
from gimpfu_signatures import * # comment on release
Non elegante, ma meglio di niente.
...
più Una nota su percorso gimpfu.py
s'. Se ho capito bene, hai appena aggiunto questo percorso al progetto. Potrebbe funzionare, ma il modo corretto è di aggiungerlo al progetto PYTHONPATH (nelle preferenze del progetto). Vedi this link per il manuale dettagliato.
Stai ricevendo errori effettivi o solo avvisi? –
Indizio probabilmente molto importante: cosa dice l'errore? Se passi il mouse sopra la linea rossa-ricci, cosa dice PyCharm? – Ian
Hai provato a importare quelle cose in modo esplicito? Proverei 'import gimpfu', quindi accedo a quelle costanti come' gimpfu.RGBA_IMAGE'. – fodma1