Ho la seguente directory:SystemError: modulo Parent '' non caricato, non può eseguire l'importazione relativa
myProgram
└── app
├── __init__.py
├── main.py
└── mymodule.py
mymodule.py:
class myclass(object):
def __init__(self):
pass
def myfunc(self):
print("Hello!")
main.py:
from .mymodule import myclass
print("Test")
testclass = myclass()
testclass.myfunc()
Ma quando lo compilo, ottengo questo errore:
Traceback (most recent call last):
File "D:/Users/Myname/Documents/PycharmProjects/myProgram/app/main.py", line 1, in <module>
from .mymodule import myclass
SystemError: Parent module '' not loaded, cannot perform relative import
Questo funziona:
from mymodule import myclass
ma ottengo nessun completamento automatico quando scrivo questo e c'è un messaggio: "riferimento non risolto: mymodule" e "riferimento non risolto: MyClass" E nel mio altro progetto , su cui sto lavorando, viene visualizzato l'errore: "ImportError: nessun modulo denominato 'mymodule'
Cosa posso fare?
https://www.python.org/dev/peps/pep-0366/ – user2357112
Non capisco. – phez1
Mi sono imbattuto nello stesso problema. Apparentemente uno script in esecuzione all'interno di un pacchetto è considerato una cattiva pratica e in questo caso non è possibile utilizzare l'importazione relativa. Poiché main.py si trova all'interno dell'app del pacchetto, l'utilizzo dell'importazione relativa causerà un errore. Usa l'importazione relativa solo in moduli ed esegui gli script all'esterno del pacchetto. – neoFox