通过创建包的本地(tarball)缓存来加速pip包安装

时间:2015-12-17 16:59:01

标签: python pip virtualenv setuptools pypi

我正在运行自动化测试套件,其中一个测试需要用pip安装几个Python软件包,以确保项目支架正常运行。

然而,从PyPi获取软件包并在测试运行期间导致不必要的时间浪费是非常慢的操作。由于网络连接错误,这也是随机故障的重要来源。我的计划是创建一个已安装的已知Python包的缓存tarball。然后pip可以直接从这个tarball中使用包,或者将它提取到virtualenv进行测试运行。

此外,目标是使其可重复,以便CI和本地开发上可以使用相同的缓存(tarball)。

  • 是否存在任何工具或流程来为pip创建可再发行的Python包缓存?

  • 如何以平台无关的方式做到这一点?我假设可重定位虚拟环境特定于目标平台?

1 个答案:

答案 0 :(得分:1)

使用方向盘:

pip wheel -r requirements.txt

所有要求都建立在文件夹wheelhouse上。

因此,在每个测试套件上,您都可以运行pip install wheelhouse/*

您的第二个选项是devpi,它可用作pypi缓存。