macOS Monterey 12.4执行where python未找到但python3正常如何解决
问题说明
macOS 12.4 Monterey 版本默认不再预装 Python 2,系统不会自动将 python 命令映射到已安装的 python3,因此执行 where python 提示找不到属于正常现象,完全不需要重新安装Python。
修复方案(按推荐优先级排序)
方案1:配置Shell别名(零风险,首推)
该方案不会修改系统级文件,不会触发系统权限限制,是最稳妥的解决方式。
- 确认当前使用的Shell:Monterey 默认 Shell 为 zsh,对应配置文件为
~/.zshrc;如果手动切换过 Bash,对应配置文件为~/.bash_profile。 - 编辑配置文件,以zsh为例,终端执行:
nano ~/.zshrc - 在文件末尾追加两行别名配置,同时统一python和pip的指向:
alias python="python3" alias pip="pip3" - 按
Ctrl+O保存文件,按回车确认文件名后,按Ctrl+X退出编辑器。 - 执行命令让配置立即生效:
配置完成后再执行source ~/.zshrcwhere python、python --version即可正常返回结果。
方案2:用户级目录创建软链接(适配硬编码路径的脚本)
如果部分老旧脚本会直接读取 python 二进制路径、无法识别Shell别名,可以在用户可写的公共bin目录创建软链接,不要操作系统级目录。
- 先确认
/usr/local/bin在系统PATH中,执行以下命令有返回即为正常:echo $PATH | grep "/usr/local/bin" - 执行命令创建软链接,指向你本机已安装的Python 3.10路径:
ln -s /Library/Frameworks/Python.framework/Versions/3.10/bin/python3 /usr/local/bin/python ln -s /Library/Frameworks/Python.framework/Versions/3.10/bin/pip3 /usr/local/bin/pip - 重启终端窗口后,执行
where python即可看到软链接对应的路径。
避坑提示
- 不要尝试在
/usr/bin系统目录下创建软链接:macOS 系统完整性保护(SIP)默认锁定该目录,普通权限无法写入;即使关闭SIP强行写入,后续系统更新也可能覆盖文件,甚至影响系统内置脚本的正常运行。 - 无需重复安装Python:你本机已经存在正常可用的Python 3.10环境,重复安装只会生成多套独立Python环境,反而会加剧路径混乱问题。
内容的提问来源于stack exchange,提问作者YamaBudo
相关产品推荐
相关产品推荐

