【发布时间】:2011-05-20 15:00:21
【问题描述】:
我正在开发一个 python 框架,并希望基于顶级包(项目名称)进行导入。用户将通过复制整个框架并在其中编写自己的模块来使用该框架。
我目前的结构是这样的:
myapp/
config.py
docs/
framework/
main.py
utils.py
file.py
lib/
some_module.py
unit_tests/
test_utils.py
我希望能够通过以下方式在 lib 和 unit_tests 中的 python 文件中使用以下导入:
from myapp.framework import utils
有没有简单的方法来做到这一点?我试过做 sys.path.append() hacks,但它们并没有真正起作用。如果有一种真正的 Pythonic 方式来实现这一点,我不介意加倍努力让它发挥作用。
编辑:好吧,我再次尝试了 sys.path.append(),它确实有效,但它确实是一个不优雅的解决方案,我真的很想听听是否有其他方法。
【问题讨论】:
-
为什么
sys.path.append()不起作用? -
@ire_and_curses - 我不确定为什么 sys.path.append() 无法正常工作,因为我无法实现我想要的导入。但是,根据我的研究,似乎不建议添加到路径中。