【问题标题】:Common libraries in many projects许多项目中的通用库
【发布时间】:2012-09-25 14:58:28
【问题描述】:

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

  1. 库作为文件系统中的软链接。
  2. 库作为 git 子模块。
  3. 使用 pip/requirements.txt 管理依赖项。

这种解决方案的优缺点是什么?你有其他建议吗?我应该选择哪一个?为什么?

我在 virtualenv 中使用 Git 和 python。

【问题讨论】:

    标签: python git oop virtualenv pypi


    【解决方案1】:

    选项 1,从长远来看会给您带来痛苦。任何重要的库都必须在某个阶段破坏向后兼容性,并且您不想更新应用程序 A、B 和 C,因为应用程序 D 需要库中的一些新功能

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 是的,但我不想把我的图书馆推到奶酪店。我认为仅仅为了一个小图书馆而开办自己的奶酪店是大材小用的。
      • @yakxxx:你不需要模块在 pypi 中就可以将它们安装在 virtualenv 中。
      猜你喜欢
      • 1970-01-01
      • 2017-06-15
      • 2017-06-14
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 2017-11-27
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多