我正在構建一個庫,該庫將通過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]),'..'))' –