在組織Python項目,這種結構似乎是做它的標準方式:如何從bin文件夾中的腳本導入你的包/模塊蟒蛇
myproject\
bin\
myscript
mypackage\
__init__.py
core.py
tests\
__init__.py
mypackage_tests.py
setup.py
我的問題是,我該如何導入mycore.py所以我可以在myscript中使用它?
兩個__init__.py
文件都是空的。
內容的MyScript的:core.py的
#!/usr/bin/env python
from mypackage import core
if __name__ == '__main__':
core.main()
內容
def main():
print 'hello'
當我從MyProject的目錄內運行的MyScript,我得到以下錯誤:
Traceback (most recent call last):
File "bin/myscript", line 2, in <module>
from mypackage import core
ImportError: No module named mypackage
什麼我錯過了嗎?
您的'sys.path'值(由'PYTHONPATH'環境變量修改或在Python代碼運行時修改)確定'import'將在哪裏搜索模塊。 – Borealid 2012-07-23 12:43:12
考慮在setup.py中使用'entry_points [「console_scripts」]「''。 – kojiro 2012-07-23 12:43:58
'setup.py'的內容是什麼?它在myproject目錄中嗎? – mgilson 2012-07-23 12:44:05