在CI-server virtual env上安装软件包依赖项

时间:2013-10-17 20:51:08

标签: python deployment pip software-distribution

对于我的应用程序环境,我使用virtualenv。我有一个安装virtualenv的脚本,并根据requirements.txt安装所有需要的软件包。

这非常适合我们在公司网络中的分发。我使用网络共享放置所有需要的包。每个生产系统都可以访问它,可以从那里安装它。我的本地开发环境使用所有软件包所在的本地文件夹。

现在出现问题:我想为持续集成设置构建服务器。很遗憾,此服务器可以访问网络共享,但可以通过git访问这些包。

让构建服务器从requirements.txt安装其依赖项的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您的构建服务器可以通过git访问软件包而您想使用requirements.txt进行安装,那么您很幸运。

通过requirements.txt

使用git安装Python包

您可以在requirements.txt中指定基于git的包。只需将它们放在不同的行上就好像它们是另一个包:

git+git://github.com/thadeusb/flask-cache.git

您甚至可以使用@

固定到特定提交

git+git://github.com/thadeusb/flask-cache.git@40cfd9280dc66ea54df0961420fc94853d506a35

奖金模式

如果您想从editable mode中的存储库中提取,请添加-e

-e git+git://github.com/thadeusb/flask-cache.git@40cfd9280dc66ea54df0961420fc94853d506a35#egg=Flask-Cache

滚动您自己的PyPI服务器

虽然您没有具体要求,但您也可以roll your own Python Package Index

配置完成后,您只需将index-url设置为从中获取包。您可以直接执行此操作:

pip install --index-url=http://pip.razer.domain/ -r requirements.txt

或设置配置文件~/.pip/pip.conf

[global]
index-url = http://pip.razer.domain/