M1 MacBook Pro Python版本混乱清理与管理咨询
Python环境清理与版本管理方案(M1 MacBook Pro)
当前环境现状
根据终端输出,你的环境存在以下情况:
- 默认
python3指向Homebrew安装的Python 3.9.8,但Homebrew已无法识别对应keg /usr/local/bin下存在Python 3.11、3.9的软链,实际文件位于/Library/Frameworks/Python.framework/Versions/目录.zprofile同时加载了两个Homebrew环境(/opt/homebrew和/usr/local),可能导致PATH优先级冲突
方案一:彻底清理现有环境,用pyenv重建版本管理
步骤1:卸载Homebrew残留的Python 3.9
执行以下命令强制卸载:
brew uninstall --force python@3.9
步骤2:删除Frameworks目录下的Python版本
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.9 sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.11
步骤3:清理/usr/local/bin下的Python软链
sudo rm /usr/local/bin/python3.9 /usr/local/bin/python3.9-config /usr/local/bin/python3.11 /usr/local/bin/python3.11-config /usr/local/bin/python3.11-intel64
步骤4:修复Homebrew配置冲突
打开.zprofile文件:
open ~/.zprofile
删除其中一行eval "$(/usr/local/bin/brew shellenv)",仅保留eval "$(/opt/homebrew/bin/brew shellenv)"(M1芯片的Homebrew默认安装路径为/opt/homebrew),保存后关闭文件。
步骤5:安装pyenv版本管理工具
brew install pyenv
步骤6:配置pyenv到shell环境
打开.zshrc文件:
open ~/.zshrc
添加以下内容到文件末尾:
export PYENV_ROOT="$HOME/.pyenv" command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
保存后关闭文件,执行以下命令使配置生效:
source ~/.zshrc
步骤7:安装并设置默认Python版本
安装Python 3.11(替换x为最新小版本号,比如3.11.6):
pyenv install 3.11.x
设置为全局默认版本:
pyenv global 3.11.x
验证结果:
python3 --version
方案二:快速将Python 3.11设为默认(不彻底清理)
步骤1:调整PATH优先级
打开.zprofile文件,将eval "$(/usr/local/bin/brew shellenv)"移到eval "$(/opt/homebrew/bin/brew shellenv)"之前,确保/usr/local/bin在PATH中的优先级高于/opt/homebrew/bin,保存后关闭文件。
步骤2:创建Python3软链指向3.11
sudo ln -s /usr/local/bin/python3.11 /usr/local/bin/python3
步骤3:验证结果
重启终端后执行:
python3 --version
此时应显示Python 3.11.x版本。
(可选)卸载Homebrew的Python 3.9
brew uninstall --force python@3.9
注意事项
- 操作前建议备份
.zprofile和.zshrc文件(复制到桌面即可) - 系统自带的Python位于
/usr/bin,切勿删除或修改,避免破坏系统功能 - 使用
sudo命令时需输入你的用户密码,注意确认命令路径的正确性
内容的提问来源于stack exchange,提问作者Jan Marczak
相关产品推荐
相关产品推荐

