MacOS安装OpenCV时python与python3命令均指向Python3.6.4的问题求助
解决MacOS中
python命令指向Python 3而非Python 2的问题 我之前也碰到过一模一样的情况,核心原因是MacOS的环境变量PATH优先级问题,或者brew安装的Python@2没有正确加入到系统可执行路径里。按下面的步骤一步步来就能搞定:
1. 先确认Python@2的安装路径
首先用brew查看Python@2的具体位置:
brew info python@2
输出里重点看Opt path这一行,通常是/usr/local/opt/python@2/bin——这个是brew维护的软链接目录,比直接指向Cellar的路径更稳定,后续我们要把这个目录加到PATH里。
2. 临时测试修复
先在当前终端里执行下面的命令,把Python@2的bin目录放到PATH的最前面(这样系统会优先找这里的python命令):
export PATH="/usr/local/opt/python@2/bin:$PATH"
现在再分别执行版本检查:
python --version # 应该显示Python 2.7.14 python3 --version # 依然是Python 3.6.4
如果这一步生效了,说明问题就是PATH优先级的问题,接下来做永久配置。
3. 永久配置环境变量
根据你用的shell类型修改对应的配置文件:
- 如果你用的是Bash:编辑
~/.bash_profile文件,在末尾添加一行:
保存后执行export PATH="/usr/local/opt/python@2/bin:$PATH"source ~/.bash_profile让配置立即生效。 - 如果你用的是Zsh(现在MacOS默认的shell):编辑
~/.zshrc文件,同样在末尾添加上面那行,然后执行source ~/.zshrc生效。
4. 检查别名冲突
有时候可能你之前手动设置过别名,让python直接指向python3,执行下面的命令检查:
alias | grep python
如果看到类似alias python='python3'的结果,找到你shell配置文件里的这行,注释掉或者删除,重启终端就好了。
5. 备选方案:强制链接Python@2
如果上面的方法还是不行,可以尝试让brew强制把Python@2链接到系统路径(注意:这会覆盖系统默认的python命令,但完全符合教程的需求):
brew link --force python@2
执行完再检查版本,应该就能正常区分python和python3了。
内容的提问来源于stack exchange,提问作者rodrikev
相关产品推荐
相关产品推荐

