如何在Python中为团队合作创建通用环境

问题描述

我想为我的团队创建一个虚拟环境。我的团队在不同的地方工作,每个人都有自己的环境,这会导致很多问题,每个人都有不同版本的库(Python,RobotFramework)。

我想到了:

  1. 创建一个通用环境,我使用了virtualenv。
  2. 使用一个命令pip install ...安装准备好的库(python和robotframework),
  3. 准备的库将位于git存储库中,以便每个人都可以修改它们,更改库的版本。

我已经完成了第一部分和第三部分,但是第二部分有问题。如何创建这样的库软件包,以便能够使用一个pip install命令进行安装。

我应该在本地创建一个环境,在其中安装所有库,然后将它们发送到git吗?还是应该通过setuptool将项目打包(到tar.gz)?

不幸的是,我找不到这个问题的答案,在我看来上述解决方案都不是最优的。

解决方法

最简单的方法是使用命令在pip中创建所有正在使用的库的文本文件。

pip freeze > requirements.txt

这将创建一个文件,列出所有正在使用的软件包及其版本。要安装该文件,请每个团队成员将该需求文件放入他们的项目中并使用

pip install -r requirements.txt
,

使用pip,您可以download依赖。这些将是.tar.gz,.whl或.zip文件。请注意,如果您的团队使用多个操作系统,这可能会很复杂。

这里是将依赖关系下载到名为“ dependencies”的目录中的示例,您可以将其与需求文件一起推送至git。

pip freeze > req.txt
pip download -r req.txt -d dependencies

有人克隆您的存储库时,他们可以使用以下命令离线安装依赖项。

pip install --no-index --find-links=dependencies -r req.txt