下午 pyyaml 发了新版,本机 pip install 报 404 Client Error: Not Found for url: https://mirrors.aliyun.com/pypi/packages/...。换成官方源立刻装上。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,国内镜像按周期从上游同步,新上传的文件和索引页之间有时间差。索引里已经有版本号,对应的文件却还没拉过来,pip 就撞到 404。

「镜像源未同步」这类改动最怕改一半,回滚脚本先准备好,再动生产。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

pip install pyyaml --index-url https://pypi.org/simple
pip config set global.extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple

权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

具体做法是,先确认是索引没有还是文件没有 两个地址分别访问一下;临时改用官方源或换一个同步更快的镜像装这一次;长期做法是在 pip.conf 里配 extra-index-url 做备份;构建脚本可以加重试 但不要把 404 的真实原因吞掉。

最后用这个标准收尾,同一条安装命令在镜像恢复前也能通过 构建日志里不再出现 404 Client Error。

作者 9823189