Homebrew更新后Python3替代原Python,如何运行Python2?
解决Homebrew更新后Python2无法运行的问题
我来帮你搞定这个Python2的运行问题!这种情况是Homebrew的默认行为导致的——现在它会把python命令默认指向Python3,不过咱们可以通过几个步骤恢复Python2的正常使用:
1. 确认Python2的安装状态
首先先确认Homebrew是否真的成功安装了Python2,在终端里运行:
brew list python@2
如果输出了一系列文件路径,说明Python2已经装好了;如果提示Error: No such keg: /usr/local/Cellar/python@2,那就先重新安装:
brew install python@2
2. 直接使用python2命令调用
Homebrew安装的Python2默认会在/usr/local/bin/python2路径下,所以你可以直接用python2命令来运行Python2代码,比如:
python2 --version
这样就能直接验证Python2是否能正常启动了。
3. 修复PATH与符号链接(如果python2仍无法运行)
如果直接敲python2没反应,大概率是PATH环境变量的问题,或者符号链接损坏:
- 先检查
/usr/local/bin是否在PATH的最前面,运行:
如果看到echo $PATH/usr/local/bin不在开头,就打开你的shell配置文件(比如~/.zshrc或~/.bash_profile),添加一行:
然后保存文件,重启终端或者运行export PATH="/usr/local/bin:$PATH"source ~/.zshrc(对应你的配置文件)生效。 - 要是还是不行,强制让Homebrew重新链接Python2:
brew link --overwrite python@2
4. 可选:设置命令别名(按需使用)
如果你习惯用python命令调用Python2,可以在shell配置文件里加别名:
alias python='python2'
不过要注意,这样会覆盖Homebrew默认的python指向Python3的设置,更推荐设置区分开的别名,比如:
alias py2='python2' alias py3='python3'
这样用py2和py3分别调用两个版本,不会混淆。
为什么会出现这个问题?
Homebrew在几年前就调整了默认策略,把python命令默认绑定到Python3,这是为了推动Python2的退役(毕竟Python2已经停止维护了),所以官方不建议强行把全局python改回Python2,最好还是用版本明确的命令调用。
内容的提问来源于stack exchange,提问作者jkortner
相关产品推荐
相关产品推荐

