问题描述
我想为我的团队创建一个虚拟环境。我的团队在不同的地方工作,每个人都有自己的环境,这会导致很多问题,每个人都有不同版本的库(Python,RobotFramework)。
我想到了:
- 创建一个通用环境,我使用了virtualenv。
- 使用一个命令pip install ...安装准备好的库(python和robotframework),
- 准备的库将位于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