You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何将特定版本的pip绑定到对应的Python版本?

解决Python 2.7和3.6的pip版本切换问题

嘿,我来帮你搞定这个pip的版本区分问题!你已经用别名搞定了Python版本切换,那pip的配置思路其实差不多,不过有几个细节得注意:

首先得说清楚为什么你现在运行pippip3都指向Python3.6的pip:这是因为安装Python3.6的时候,它的Scripts文件夹(里面放着pip.exe)被加到了系统环境变量PATH的最前面,所以系统优先找到它的pip;而pip3本身就是Python3对应的pip命令,自然也指向3.6版本。

接下来给你两种靠谱的解决方法:

方法一:给pip设置专属别名(和你切换Python的方式一致)

首先要确认两个版本pip的实际路径:

  • Python2.7的pip一般在c:\python27\Scripts\pip.exe(你之前提到的site-packages是安装包的存放目录,不是pip可执行文件的位置哦)
  • Python3.6的pip在c:\python36\Scripts\pip.exe

然后在PowerShell里执行以下命令设置别名:

set-alias py2pip c:\python27\Scripts\pip.exe
set-alias py3pip c:\python36\Scripts\pip.exe

这样之后,你运行py2pip就会调用Python2.7的pip,py3pip调用Python3.6的pip啦。

⚠️ 注意:这个别名只在当前PowerShell会话生效,如果想每次打开PowerShell都能用,需要把这两行命令添加到PowerShell的配置文件里:

  1. 先运行$PROFILE查看配置文件的路径
  2. 如果文件不存在,用New-Item -Path $PROFILE -ItemType File -Force创建
  3. 打开这个文件,把两行别名命令粘贴进去保存即可

方法二:直接用Python版本调用pip(更稳妥,不用管路径)

其实还有个更省心的方法,不需要单独给pip设别名——直接用你已经配置好的Python别名来调用pip:

  • 要使用Python2.7的pip,运行:py2 -m pip install 你的包名
  • 要使用Python3.6的pip,运行:py3 -m pip install 你的包名

这种方法的好处是完全不用纠结pip的路径,python -m pip会自动调用对应Python版本的pip,从根源上避免版本混乱,推荐你试试这个!

内容的提问来源于stack exchange,提问作者Shift 'n Tab

火山引擎 最新活动