在组织python项目时,这种结构似乎是一种标准的方式:
myproject\
bin\
myscript
mypackage\
__init__.py
core.py
tests\
__init__.py
mypackage_tests.py
setup.py
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何导入mycore.py所以我可以在myscript中使用它?
两个__init__.py文件都是空的.
myscript的内容:
#!/usr/bin/env python
from mypackage import core
if __name__ == '__main__':
core.main()
Run Code Online (Sandbox Code Playgroud)
core.py的内容
def main():
print 'hello'
Run Code Online (Sandbox Code Playgroud)
当我从myproject目录中运行myscript时,出现以下错误:
Traceback (most recent call last):
File "bin/myscript", line 2, in <module>
from mypackage import core
ImportError: No module named mypackage
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
通常,setup.py应该将软件包安装在 Python 解释器可以找到的地方,这样安装后就import mypackage可以工作了。为了便于bin直接从开发树中运行脚本,我通常只需将一个 simlink 添加../mypackage/到bin目录中。当然,这需要一个支持符号链接的文件系统……
| 归档时间: |
|
| 查看次数: |
6373 次 |
| 最近记录: |