包索引镜像和缓存¶
- 页面状态:
未完成
- 上次审核时间:
2023-11-08
镜像或缓存 PyPI(以及其他包索引)可用于加快本地包安装速度、允许离线工作、处理公司防火墙或仅仅是解决网络不稳定问题。
此领域有多种选项
包索引的本地/托管缓存。
包索引的本地/托管镜像。镜像是一个包索引的(全部或部分)副本,可以用来替代原始索引。
具有回退到公共包索引的私有包索引(例如,为了减轻依赖混淆攻击),也称为代理。
使用 pip 进行缓存¶
pip 提供了多种设施,通过使用本地缓存的包副本,来加快安装速度。
通过下载项目的所有依赖项,然后将 pip 指向这些下载的文件而不是 PyPI,实现快速本地安装。
上述方法的一种变体,使用python3 -m pip wheel预构建依赖项的安装文件。
python3 -m pip wheel --wheel-dir=/tmp/wheelhouse SomeProject python3 -m pip install --no-index --find-links=/tmp/wheelhouse SomeProject
现有项目¶
项目 |
缓存 |
镜像 |
代理 |
附加说明 |
|---|---|---|---|---|
✔ |
✔ |
具有继承功能的多个索引;同步、复制、故障转移;包上传 |
||
✔ |
✔ |
|||
✔ |
自定义插件支持缓存;重新路由到其他包索引 |
|||
✔ |
✔ |
未维护;身份验证、授权 |
||
✔ |
✔ |
Pulp 的插件;多个代理索引;包上传 |
||
✔ |
✔ |
多个代理索引 |
||
✔ |
✔ |
多个代理索引 |
||
✔ |
✔ |
未维护 |
||
✔ |
✔ |
使用mod_rewrite和mod_cache_disk,可以通过 Apache 服务器缓存对包索引的请求 |