如何在开发人员之间同步项目依赖项?

时间:2015-12-17 21:48:07

标签: python git github version-control pip

我的团队正在开始一个新的Python项目。我们将使用Git和一个中央存储库。每个开发人员都将使用本地virtualenv,并从中央仓库推送/拉动到本地仓库。

使用此设置,可能的情况如下:

  1. Developer A安装一个包并编写一些使用它的代码。
  2. 他/她将代码推送到中央仓库。
  3. 开发人员B提取代码并开始工作。
  4. 开发人员B在本地运行项目并获取ImportError,因为他/她没有安装开发人员A引入的新依赖项。
  5. 我的问题是:如何在所有开发人员之间同步项目依赖关系?

    我考虑的一种方法:

    之前任何 git push ,开发人员执行git freeze > requirements.txt。该文件与代码一起推送。

    任何 git pull 后,开发人员会执行git install -r requirements.txt

    这种做法是否可行?推荐吗?有更好的方法吗?

1 个答案:

答案 0 :(得分:5)

我会使用virtualenv并创建一个需求文件

pip freeze > requirements.txt

您添加到git repo,每次需要新包时,都应将其添加到需求文件中。当开发人员拉动他们可以运行

pip install -r requirements.txt

我认为这是最合乎逻辑的方法,也是我的团队多次使用的方法。