许多项目中的公共库

时间:2012-10-04 14:29:39

标签: python git oop virtualenv pypi

我有很少的项目,他们使用一些通用代码。我将此代码重构为公共库,但随后出现了问题。如何管理这个通用代码。我考虑了一些选项:

  1. 库作为文件系统中的软链接。
  2. 库作为git子模块。
  3. 使用pip / requirements.txt管理的依赖项。
  4. 此解决方案的优缺点是什么?你有其他建议吗?我应该选择哪一个?为什么?

    我在virtualenv中使用Git和python。

2 个答案:

答案 0 :(得分:1)

选项1,会让您长期痛苦。任何非平凡的库都必须在某个阶段破坏向后兼容性,并且您不希望更新应用程序A,B和C,因为应用程序D需要库中的一些新功能

答案 1 :(得分:1)

virtualenv的第三个选项非常方便。只需在项目中创建一个需求文件,将依赖项安装到virtualenv中,然后运行env。每个项目都有自己的依赖项和virtualenv,没有任何重叠。您也不必担心在系统的Python中安装冲突的模块。