Python 3.8 环境里 pip install 某个包,只输出 ERROR: Could not find a version that satisfies the requirement。加 -v 之后才看到 Ignored versions require-python>=3.10。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,包的元数据里声明了 python_requires,pip 会先按解释器版本过滤候选,全被过滤掉就只剩一句笼统的找不到。默认日志不解释过滤原因。
「python_requires 不匹配」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
pip install -v somepkg 2>&1 | grep -i requires-python python -V pip -V
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
具体做法是,加 -v 重跑 看 Ignored 行里的 requires-python;python -V 和 pip -V 一起看 确认 pip 对应的是哪个解释器;要么升解释器 要么找还支持 3.8 的最后一个版本用 == 钉住;别用 --ignore-requires-python 硬装 二进制包很可能运行时报错。
最后用这个标准收尾,日志里能明确指出 requires-python 的限制 换成匹配的解释器后安装直接通过。
