核心是让终端优先找到新Python而非系统自带的/usr/bin/python3;需用which python3确认路径、echo $PATH检查顺序,推荐Homebrew安装后将/opt/homebrew/bin(或/usr/local/bin)前置到PATH,并用source ~/.zshrc生效。Mac 上配置 Python 环境变量和版本指向,核心是「不碰系统自带的 `/usr/bin/python3`,而是让终端优先找到你安装的新 Python」。关键不在“装没装”,而在“终端认不认”。
先确认当前 Python 指向哪
打开终端,执行三行命令:
- which python3 —— 看终端实际调用的是哪个路径(常见结果:`/usr/bin/python3` 或 `/opt/homebrew/bin/python3` 或 `~/.pyenv/shims/python3`)
- python3 --version —— 查看当前生效的版本号
- echo $PATH —— 检查 PATH 中各路径的先后顺序(排在前面的路径优先被使用)
如果 which python3 输出 /usr/bin/python3,说明你还没成功切换——这不是错误,只是还没配置好路径优先级。
推荐方式:用 Homebrew 安装 + PATH 前置
这是最轻量、稳定、易维护的方案(2026 年主流选择)。Homebrew 安装的 Python 默认在 /opt/homebrew/bin/(Apple Silicon)或 /usr/local/bin/(Intel),只需把它加到 PATH 最前面即可。
- 先装 Homebrew(如未安装):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/homebrew/install/HEAD/install.sh)" - 再装 Python:
brew install python(自动安装最新稳定版,目前为 3.13.1) - 编辑 shell 配置文件(macOS 默认用 zsh):
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
(Intel 芯片用户请改用/usr/local/bin) - 重载配置:
source ~/.zshrc - 验证:
which python3应输出/opt/homebrew/bin/python3,python3 --version应显示 3.13.x
进阶需求:需要多个 Python 版本共存
比如同时开发老项目(需 3.9)和新项目(用 3.13),这时推荐 pyenv,它通过 shims 动态拦截命令,比手动改 PATH 更安全灵活。
- 安装 pyenv:
brew install pyenv - 写入环境变量(确保 pyenv 初始化生效):
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrcecho 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrcecho 'eval "$(pyenv init -)"' >> ~/.zshrc - 重载:
source ~/.zshrc - 安装并设版本:
pyenv install 3.9.18pyenv install 3.13.1pyenv global 3.13.1(全局默认)pyenv local 3.9.18(仅当前项目目录生效)
执行 which python3 会看到 ~/.pyenv/shims/python3,这就是 pyenv 在背后调度的入口,无需手动改 PATH。
立即学习“Python免费学习笔记(深入)”;
避坑提醒:别做这几件事
- 不要用
sudo pip install往系统 Python(/usr/bin/python3)里装包——SIP 会阻止,强行绕过可能损坏系统工具 - 不要删除或替换
/usr/bin/python3——App Store、Xcode 工具链依赖它 - 不要把官网安装包路径(如
/Library/Frameworks/Python.framework/Versions/3.11/bin)硬写进 PATH 后再加alias python=...——容易和 pip3 不匹配,引发“能装不能用” - 配置完别忘了
source ~/.zshrc,否则新开终端不生效


















