Установка подмодулей Python3 не обновляет пути при запуске с ключом -m
У меня есть следующая структура проекта:
server/
server.py
__init__.py
sockets/
module.py
__init__.py
Я поставилPYTHONPATH
в один каталог над сервером (например,/home/user/server
содержит сервер,PYTHONPATH
установлено/home/user
).
Основной файлserver.py
; импортирует модули:
import sockets
from sockets.module import Module
Когда я бегуpython3 $PYTHONPATH/server/server.py
напрямую работает отлично. Однако, когда я звонюpython3 -m server.server.py
он терпит неудачу, несмотря на то, что явно рекомендуется избегать адского пути Python, но он не может найти модуль, с уродливым сообщением:
/usr/bin/python3: Error while finding spec for 'server.server.py' (<class 'ImportError'>: No module named 'sockets')
Почему импорт модуля не может импортировать подмодули? Как правильно настроить подпакеты?