ModuleNotFoundError: Kein Modul namens '__main __. xxxx'; "__main__" ist kein Paket

9

Derzeit versuche ich, in Python3 zu arbeiten und absolute Importe zu verwenden, um ein Modul in ein anderes zu importieren, aber ich erhalte den Fehler ModuleNotFoundError: No module named '__main__.moduleB'; '__main__' is not a package . Betrachten Sie diese Projektstruktur:

%Vor%

moduleA.py3

%Vor%

moduleB.py3

%Vor%

Dann führt% ce_de% den Fehler aus. Was muss hier geändert werden?

Danke!

    
mpseligson 01.08.2017, 19:42
quelle

1 Antwort

3

.moduleB ist ein relativer Import. Relativ funktioniert nur, wenn das übergeordnete Modul zuerst importiert oder geladen wird. Das bedeutet, dass Sie proj irgendwo in Ihrer aktuellen Laufzeitumgebung importieren müssen. Wenn Sie den Befehl python3 moduleA.py3 verwenden, erhalten Sie keine Chance, das übergeordnete Modul zu importieren. Sie können:

  • from proj.moduleB import moduleB OR
  • Sie können ein anderes Skript erstellen, sagen wir run.py , um from proj import moduleA aufzurufen

Viel Glück bei deiner Reise in das fantastische Python-Land.

    
Md. Sabuj Sarker 19.10.2017 08:58
quelle

Tags und Links