You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已安装Python3.7,为何pip/pip3默认指向Python3.6?如何修改?

问题原因分析

首先咱们得把根源理清楚:

  • Windows系统查找命令时,是按PATH环境变量里的顺序检索,但如果旧版本的pip.exe/pip3.exe被放在了优先级更高的目录(比如C:\Windows\System32),或者你修改PATH后没重启命令提示符,系统还在使用旧的路径缓存,就会出现「3.7路径在前却还是调用3.6 pip」的情况。
  • 另外,Python Launcher(也就是py.exe)和pip是两套独立机制:py.exe是专门管理多Python版本的工具,会优先识别最新版本或你指定的版本,但pip.exe是每个Python版本单独安装的可执行文件,它的关联完全由PATH和文件位置决定,所以py --version正常不代表pip也会同步匹配。
解决步骤

第一步:定位问题根源

打开命令提示符,执行这条命令,看看系统到底在调用哪个路径的pip:

where pip

这个命令会列出所有找到的pip.exe路径,你能一眼看到是哪个路径的pip在「抢风头」。

第二步:根据结果针对性解决

情况1:旧版本pip在高优先级目录

如果输出里出现C:\Windows\System32\pip.exe或者其他比你3.7 Scripts目录更靠前的路径,直接删除这些旧的pip.exe和pip3.exe文件就行——这些都是之前装3.6时遗留的冗余文件,留着只会添乱。

情况2:3.7的Scripts目录里没有pip.exe

如果where pip只找到3.6的pip路径,说明你装Python3.7时可能没自动装上pip,执行下面的命令给3.7补装并升级pip:

py -3.7 -m ensurepip --upgrade

执行完后,去3.7的Scripts目录(C:\Users\luca\AppData\Local\Programs\Python\Python37\Scripts\)看看,应该就有pip.exe和pip3.exe了。

情况3:PATH顺序没问题,但缓存没刷新

如果你已经把3.7的Scripts放在PATH最前面,但还是调用旧pip,那大概率是命令提示符的PATH缓存没更新——关掉当前所有cmd窗口,重新开一个再试,Windows的PATH在cmd启动后不会自动刷新,必须重启窗口才会读取新设置。

第三步:永久避免版本冲突(推荐)

其实Python官方早就推荐用py launcher配合-m pip的方式调用pip,这样完全不会搞混版本:

  • 给3.7装包:py -3.7 -m pip install 包名
  • 给3.6装包:py -3.6 -m pip install 包名
    这种方式直接指定Python版本,调用对应版本的pip模块,比单独用pip/pip3靠谱多了,以后也不用再纠结路径问题。

内容的提问来源于stack exchange,提问作者the_eraser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:27:54