【发布时间】:2025-12-03 02:15:02
【问题描述】:
我有一个这样的目录结构:
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 放在那里。
或者,有完全不同的方法吗?
【问题讨论】:
标签: python python-2.7 pip