我有一个这样的目录结构:
src/
--scripts/
----foo/a.py
----bar/b.py
--lib1
--lib2
--lib3
目的是让 scripts/foo/ 和 scripts/bar/ 成为使用 lib1、lib2、lib3 中的模块的可运行 python 脚本的目录。脚本、lib1、lib2 和 lib3 都是处于积极开发中的独立的内部 git 存储库。没有可依赖的静态接口或发布版本。基本上,它们几乎都是由一个小团队同时编写的。
我玩过制作 lib[1-3] 子模块,我真的很讨厌这个工作流程。我想我想要的是能够从 foo/a.py 执行“导入 lib1”并让它使用 lib1 中的当前代码。一旦事情成熟,我们可能会对所有内容进行版本化并努力生产适当的软件包。
做到这一点的一种方法是sys.path
在每个脚本中明确地查看“../../”或其他内容。我想知道是否有更优雅的东西。我可以pip install -r requirements.txt
为我做这项工作吗?我不想制作官方的pypi setup.py,我只想获取指向lib[1-3]目录当前内容的指针。我喜欢 requirements.txt 方法的原因是随着库的成熟,我最终会将版本和 git URL 放在那里。
或者,是否有完全不同的方法来做到这一点?