【发布时间】:2020-03-30 21:02:03
【问题描述】:
我的 python 应用程序的文件夹结构如下:
my_repo/
src/
main.py
util/ <-- util is a git submodule
src/
torgle.py
test/
test_torgle.py
test/
test_main.py
在main.py 中,我可以像这样在util 子模块中导入东西:
from util.src.torgle import Torgler
但src/ 只是在我的 git 子模块存储库中保持事物组织的一种方式,不应该是主存储库中包名称的逻辑部分。有什么方法可以跳过模块导入的src 部分吗?我宁愿这样做:
from util.torgle import Torgler
即我可以本质上将 util/src 文件夹别名为 Python util 包吗?
(请注意,在我的实际案例中,我有更深的嵌套包 (util.x.y.z.torgle),因此 from util import torgle; torgle.Torgler(...) 无法很好地扩展。我对 from util.torgle import Torgler 特别感兴趣。)
【问题讨论】:
-
您是否有任何理由直接从存储库构建 Python 应用程序,而不是安装它并在此过程中合并存储库目录?
-
@MisterMiyagi 我不是 Python 专家——你能多说一下“安装它”是什么意思吗?为了澄清我的情况,
my_repo和util都是我自己的存储库;util在多个项目之间共享。因此,如果有更好的方法来管理它(并且仍然允许我从util像from util.torgle ...导入),我绝对是灵活的。 -
您知道
setup.py或PYTHONPATH吗?基本上,您可以将代码合并到一个可安装的包中,或者调整 Python 加载模块的方式。
标签: python python-3.x git-submodules