Python kann mein Modul nicht finden
Ich habe ein Python-Projekt (das ich in einer virtuellen Umgebung ausführe) und das hat die folgende Struktur:
Project
├───.git
├───venv
└───src
├───__init__.py
├───mymodules
│ ├───__init__.py
│ ├───module1.py
│ └───module2.py
└───scripts
├───__init__.py
└───script.py
script.py
import src.mymodules.module1
...
Ich führe das Projekt mit aktiviertem venv und aus dem Projektverzeichnis mit dem folgenden Befehl aus:
(venv)$ python src/scripts/script.py
Das Skript wird ausgeführt, gibt jedoch vor dem Beenden den folgenden Fehler aus:
Traceback (most recent call last):
File "src/scripts/script.py", line 1, in <module>
import src.mymodules.module1
ImportError: No module named src.mymodules.module1
Ich habe versucht, die Python-Shell auszuführen und zu versuchen, das Modul von dort zu importieren, und es gab keine Fehler. Ich habe _ _init__.py in jedem Verzeichnis innerhalb von src. Betrachtet Python das Arbeitsverzeichnis als src / scripts? Warum passiert das und wie kann ich src zum Arbeitsverzeichnis machen, wenn das der Fall ist?