Mac M1终端使用Python3时$PATH异常问题求助
解决Mac M1上Python3执行报错问题
问题现象
在Mac M1设备上已安装Python3.7,执行相关命令出现异常:
- 执行
which python3,输出:/usr/bin/python3 - 执行
echo $PATH,输出:"/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Library/Apple/usr/bin:/usr/local/bin/python3" - 执行
python3 --version报错:python3: error: can't exec '/Applications/Xcode.app/Contents/Developer/usr/bin/python3' (errno=No such file or directory)
原因分析
/usr/bin/python3 是Apple提供的包装器程序,它会优先尝试调用Xcode或Command Line Tools中的Python3版本。如果Xcode被移除、未安装完整的Command Line Tools,或者路径配置异常,就会触发这个找不到文件的错误——即便该路径不在你的$PATH中也会出现此问题。
解决步骤
安装/修复Command Line Tools
打开终端执行以下命令,安装Apple官方的Command Line Tools(包含适配的Python3版本):xcode-select --install如果提示“已安装”,可以先重置路径再重新安装:
sudo xcode-select --reset xcode-select --install让系统优先使用你安装的Python3.7
如果不想用Command Line Tools里的Python,希望直接调用你安装的Python3.7,需要调整$PATH顺序:- 打开终端的配置文件(使用zsh则为
~/.zshrc,使用bash则为~/.bash_profile):open ~/.zshrc - 在文件末尾添加一行(需确认你的Python3.7实际安装路径正确,比如通过brew安装的路径可能是
/usr/local/bin/python3.7):export PATH="/usr/local/bin/python3.7:$PATH" - 保存文件后,刷新配置:
source ~/.zshrc - 验证是否生效:
python3 --version
- 打开终端的配置文件(使用zsh则为
直接替换Python3的指向(可选)
如果上述方法无效,可以创建软链接将python3指向你安装的版本:sudo ln -sf /usr/local/bin/python3.7 /usr/bin/python3注意:修改系统目录下的文件需要管理员权限,执行前务必确认路径正确。
内容的提问来源于stack exchange,提问作者user9258239
相关产品推荐
相关产品推荐

