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

标签 python pip virtualenv setuptools pypi

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

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

我们的目标也是使其可重复,以便在 CI 和本地开发中可以使用相同的缓存(tarball)。

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

  • 还有其他想法如何以平台无关的方式做到这一 pip 吗?我假设可重定位虚拟环境特定于目标平台?

最佳答案

使用滚轮:

pip wheel -r requirements.txt

所有需求均构建到文件夹驾驶室

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

您的第二个选项是 devpi它作为 pypi 缓存工作。

关于python - 通过创建包的本地(tarball)缓存来加速 pip 包安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340195/

相关文章:

python - 如何更改 PIP 以使用 Python 2.7

python - MarkupSafe 不会安装在 Amazon Linux 上的 virtualenv 中

python - 使用不在索引中的元素切片 Pandas 系列

python - 如何在 python 中生成 IRF() 函数的实际结果?

python - Django 休息框架 : Serialize data from nested json fields to plain object

Docker:找不到 Alpine linux 社区包

python - 无法以非 root 用户身份激活 virtualenv

python - 扫描智能卡时如何检测事件

python - 删除 python3.7 文件夹后 Pip 损坏

pip - 已安装 python3-pip 但找不到 pip3 命令?