我有这样的文件结构:
project/
__init__.py
common/
__init__.py
util.py
utilhelper.py
stuff/
__init__.py
coolstuff/
__init__.py
awesome.py
通用/初始化.py
import util, utilhelper
通用/util.py
import utilhelper
help = utilhelper.help()
东西/coolstuff/awesome.py
from common import util
print util.help
当我做:
python 项目/stuff/coolstuff/awesome.py
“from common import util”因“没有名为 common 的模块”而失败。
我意识到我错过了一些非常重要的心理概念,比如路径和包装,因为我不知道如何解决这个问题。但如果可能的话,我想在深层子目录中保留“来自通用导入工具”之类的代码。
我考虑过: - 设置 Paver 以将路径依赖项注入通过 sh 运行 python 脚本的任务中:
@task
@needs(['common'])
def dostuff():
sh('python stuff/coolstuff/awesome.py')
不幸的是,我不知道自己在做什么,也找不到任何好的例子/教程。
- 使用 imp 在我的 100% 脚本中显式导入相对和/或绝对文件路径
- 在每个 python 文件的顶部编写小 hacky 路径插入
我真的很感激任何建议。