我有一个Jenkins实例,它使用来自PyPI的随附requirements.txt个包来构建我的项目。但是,与TravisCI版本一样,每次从头开始构建都是非常耗时的,并且意味着构建需要大约4-5分钟,这比理想情况慢得多。
我正在寻找的是一种在本地缓存下载的包的方法,所以当启动具有相同依赖关系的构建时,而不是必须从PyPI获取它只能在本地获取,当版本发生更改时,它可以像现在一样获取上游包。
是否有这样的项目,因为今晚的谷歌搜索没有透露太多。
答案 0 :(得分:7)
pip支持开箱即用
pip install --download-cache=DIR
如果请求现有文件,则从缓存中读取。这也可以使用环境变量PIP_DOWNLOAD_CACHE
来完成;
答案 1 :(得分:0)
您可以使用
之类的鸡蛋代理缓存http://pypi.python.org/pypi/collective.eggproxy
这就像所有下载的鸡蛋的本地代理一样,使Jenkins更健壮 例如防止PyPI经常发生的超时。
除此之外,您还可以使用setuptools的PYCACHE功能。参见