我正在运行自动化测试套件,其中一项测试需要使用 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/