我是一名开发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() 的hack,但它们并不真正有效。如果有一个真正符合Python风格的方法来实现这一点,我愿意付出额外的努力让它工作。
编辑:好吧,我再次尝试使用sys.path.append(),它实际上可以工作,但它确实是一种不太优雅的解决方案,我真的很想知道是否还有其他方法。
sys.path.append()
不起作用? - ire_and_curses