解决方案很少
选项全部:安装一切,忽略您的特殊要求
这不能回答您的问题,但可能是最有效的解决方案。除非您有一些软件包,由于任何原因难以安装,否则不值得为不同的团队分开安装。如果你计算实现它所需的时间,你会发现,这是不可行的。如果您担心安装软件包所需的时间,请参阅相关的 SO 答案以了解 pip 配置,即使对于需要编译的软件包,您的安装速度也会缩短到一两秒。
Option Multi:将解决方案组织成多个多级包
您可以将解决方案拆分为包,例如
tool.common
tool.teamA
tool.teamB
tool.teamB
在这种情况下,工具是所谓的命名空间包,应该是空的。
任何包都可能需要安装其他包,通常这些包tool.common可能是所有其他包中所需包的一部分。
requirements.txt选项 Pip:对文件使用 pip
还有其他常见的模式,使用pip和requirements.txt文件。
pip 允许安装在某些文本文件中声明的文件,通常称为reuirements.txt,但任何其他名称都可以。
而不是使用:
$ pip install tool.teamA
人们会以某种方式使代码可以使用,例如:
$ git clone repo4tools
在那个存储库中,会有文件
requirements-teamA.txt
requirements-teamB.txt
requirements-teamC.txt
以及其他需要的东西。
每个需求文件将仅包含给定团队所需的包。
然后人们会简单地调用:
$ cd repo4tools
$ pip install -r requirements-teamA.txt
对于开发人员来说,最后一个选项变得非常流行,尤其是与 virtualenv 结合使用。有时每个团队甚至有多个需求文件,一个用于实际使用,另一个用于开发和测试等。