Python 环境装完依赖后,可以先跑 pip check

33 次浏览2 条回复

遇到导入错误时,先确认依赖元数据有没有冲突,通常比直接重装更快。虚拟环境里可以跑:

python -m pip check

它会检查已安装发行版声明的依赖是否满足;没有问题时会输出 No broken requirements found.,有冲突则列出缺哪个版本。

环境:Python 3.8+、pip 22+。它只检查当前解释器对应的环境,所以最好用 python -m pip,避免把系统 pip 和项目虚拟环境混在一起。这个命令不负责解析或升级依赖,发现问题后再回头看 requirements.txt 或锁文件。

这个很适合放在重装之前跑一下。补充一点:pip check 主要看发行版声明的依赖关系,不能保证当前解释器真的能导入,尤其是带原生扩展的包。若它通过但仍有导入错误,可以再用同一个 python 执行 python -m pip show 包名,确认包的安装位置没有和虚拟环境串掉。

如果 pip check 通过但还是导入异常,我会再用同一个解释器确认实际加载的是哪个文件:

python -c "import requests; print(requests.__file__)"

这样能很快看出是不是当前虚拟环境里的包,或者被项目目录里同名文件遮住了。requests 换成实际出问题的包名就行。