У меня есть проект python (который я запускаю внутри virtualenv) и который имеет следующую структуру:
Project
├───.git
├───venv
└───src
├───__init__.py
├───mymodules
│ ├───__init__.py
│ ├───module1.py
│ └───module2.py
└───scripts
├───__init__.py
└───script.py
script.py
import src.mymodules.module1
...
Я запускаю проект с активированным venv и из каталога Project, используя следующую команду:
(venv)$ python src/scripts/script.py
Выполняется script, но выдается следующая ошибка перед выходом:
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
Я попытался запустить оболочку python и попытался импортировать модуль оттуда, и он не дал никаких ошибок. У меня есть _ _init__.py в каждом каталоге в src. Является ли python рассматривающим рабочий каталог как src/scripts? Почему это происходит и как я могу сделать src рабочим каталогом, если это дело?