Jenkins /本地版本的PyPI本地缓存

时间:2013-01-19 18:39:25

标签: python django jenkins virtualenv pip

我有一个Jenkins实例,它使用来自PyPI的随附requirements.txt个包来构建我的项目。但是,与TravisCI版本一样,每次从头开始构建都是非常耗时的,并且意味着构建需要大约4-5分钟,这比理想情况慢得多。

我正在寻找的是一种在本地缓存下载的包的方法,所以当启动具有相同依赖关系的构建时,而不是必须从PyPI获取它只能在本地获取,当版本发生更改时,它可以像现在一样获取上游包。

是否有这样的项目,因为今晚的谷歌搜索没有透露太多。

2 个答案:

答案 0 :(得分:7)

pip支持开箱即用

pip install --download-cache=DIR

如果请求现有文件,则从缓存中读取。这也可以使用环境变量PIP_DOWNLOAD_CACHE来完成;

答案 1 :(得分:0)

您可以使用

之类的鸡蛋代理缓存

http://pypi.python.org/pypi/collective.eggproxy

这就像所有下载的鸡蛋的本地代理一样,使Jenkins更健壮 例如防止PyPI经常发生的超时。

除此之外,您还可以使用setuptools的PYCACHE功能。参见

What is the Python egg cache (PYTHON_EGG_CACHE)?