pyenv 下载失败时改用 python-build 的归档缓存
把请求的那个归档精确放进 python-build 的下载缓存,然后重试所选的 Python 定义。
当 pyenv 的下载器无法通过代理获取 Python 源码归档时,你可以改用 python-build 的缓存来提供它。
- 记下失败构建请求的 URL 和确切的归档文件名。
- 通过可用且已批准的下载途径取得同一个文件。保留文件名:
.zip不能替代请求的.tar.xz。 - 把它放入缓存目录,并让重试指向该目录:
PYTHON_BUILD_CACHE_PATH=/path/to/archive-cache pyenv install VERSION把 VERSION 换成你选定的定义。pyenv 在缓存目录存在时通常会使用它;PYTHON_BUILD_CACHE_PATH 会明确指定所选位置。
如果定义声明了校验和,python-build 会用缓存中的字节与它比对。仅仅文件名一致并不够。
如果重试通过了这个归档,接着又要下载别的东西,就检查新请求的包。一个定义可能需要的不止 Python 归档,机器仍然需要构建工具和库。要按实际请求去填缓存,而不是把一个文件当成完整的离线构建。
如果想恢复正常的下载,就找出并配置 python-build 所选的下载器。取得缓存文件的浏览器可能使用不同的代理设置。