Ich habe ein Python-Skript geschrieben, das auf Bibliotheken basiert, die ich selbst erstellt habe. Ich habe in den jeweiligen Verzeichnissen eine __init__.py-Datei erstellt, um sie als Paketverzeichnisse zu kennzeichnen.
Die Baumstruktur sieht folgendermaßen aus:
/main
/sub1
/sub2
...
Das Skript selbst befindet sich im Verzeichnis sub1, während sich die Bibliothek, die ich importiere, in sub2 befindet.
Wird ausgeführt Innerhalb der Spyder-IDE mit /main als Home-Verzeichnis funktioniert der folgende Import ohne Probleme:
from sub2 import my_handler as mdh
Aber das Gleiche (Ausführung von /main unter Verwendung von Python ./sub1/my_processing.py) wirft den folgenden Fehler aus, wenn es über die Linux-Befehlszeile ausgeführt wird:
ModuleNotFoundError: No module named 'sub2'
Ich vermute, das hängt irgendwie mit PATH-Bezeichnungen zusammen, aber die beiden Sätze sehen gleich aus (der Aufruf von sys.path nach dem Import gibt jeweils die gleichen 7 Verzeichnisse zurück). Was könnte die Ursache dafür sein?
Das Python-Skript läuft in Spyder einwandfrei und löst „ModuleNotFoundError“ aus, wenn es über die Befehlszeile ausgefüh ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post