파이썬 3 서브 모듈 설정은 -m 스위치로 실행할 때 경로를 업데이트하지 않습니다. [python]
Answers
Question
나는 다음과 같은 프로젝트 구조를 가지고있다 :
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')
모듈 가져 오기가 하위 모듈을 가져 오지 못하는 이유는 무엇입니까? 서브 패키지를 올바르게 설치하는 방법은 무엇입니까?