Python `pip install` из локального проекта - модули не могут найти друг друга
У меня запущен сервер разработки virtualenv
(Python 3.6), в который я хочу установить локальный проект Python. Если я бегу pip install -e /path/to/myproject
в то время как virtualenv
активен, то внутри этой среды я могу import myproject
, Я тоже могу сделать from myproject import submodule
, Но если я сделаю from myproject import othermodule
, Я получил ModuleNotFoundError: No module named 'submodule'.
(othermodule
импорт submodule
). Это не произойдет, если я import myproject
от myproject
корень
Структура каталогов:
/path/to/myproject
setup.py
myproject/
__init__.py
submodule.py
othermodule.py
...
setup.py
похоже:
setup(
name='myproject'
packages=['myproject']
)
В чем дело? Почему эти библиотеки не найдены?
1 ответ
Решение
Проблема заключалась в том, что относительный импорт Python 3 должен быть явным.
В othermodule
, вместо
import submodule
Мне нужно написать:
import myproject.submodule
или же
import .submodule