나는 pip를 통해 다른 프로젝트에 포함될 라이브러리를 구축 중입니다.동일한 프로젝트의 bin 디렉토리에서 모듈을 가져올 수 없습니다.
나는 다음과 같은 디렉토리가 ('venv'는 VIRTUALENV입니다) :
project
\- bin
\- run.py
\- myproj
\- __init__.py
\- logger.py
\- venv
나는 VIRTUALENV을 활성화합니다. 빈/run.py에서
내가 가진 :
from myproj.logger import LOG
하지만 난 항상 얻을
ImportError: No module named myproj.logger
'프로젝트'디렉토리의 다음 작품 :
python -c "from myproj.logger import LOG"
그것은 아니다 'bin'디렉토리에서 호출 될 때 'project'디렉토리를 pythonpath에 올바르게 추가하십시오. 내 bin 디렉토리의 스크립트에서 'myproj'모듈을 가져올 수 있습니까?
감사합니다. 나는 전에 그것을 보지 못했다. – user1491250
OP에서 virtualenv를 사용합니다. 'sys.path' 조작은 [불필요한] (http://stackoverflow.com/a/16816683/4279) 또는 [유해한] (http://stackoverflow.com/a/14186074/4279)입니다. – jfs
스크립트의 절대 경로를 사용하여 어디서든 스크립트를 실행할 수 있습니다. 'sys.path.append (os.path.join (os.path.dirname (sys.argv [0]), '..'))' –