对于我的应用程序环境,我使用virtualenv
。我有一个安装virtualenv
的脚本,并根据requirements.txt
安装所有需要的软件包。
这非常适合我们在公司网络中的分发。我使用网络共享放置所有需要的包。每个生产系统都可以访问它,可以从那里安装它。我的本地开发环境使用所有软件包所在的本地文件夹。
现在出现问题:我想为持续集成设置构建服务器。很遗憾,此服务器不可以访问网络共享,但可以通过git
访问这些包。
让构建服务器从requirements.txt
安装其依赖项的最佳方法是什么?
答案 0 :(得分:2)
如果您的构建服务器可以通过git访问软件包而您想使用requirements.txt
进行安装,那么您很幸运。
您可以在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
虽然您没有具体要求,但您也可以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/