在macOS上用Homebrew配合pyenv实现Python多版本切换,核心是不修改系统Python,通过配置zsh环境变量并初始化pyenv,再安装指定版本、按全局/项目/会话三级作用域切换。

在 macOS 上用 Homebrew 配合 pyenv 实现 Python 多版本切换,核心是不碰系统自带 Python,所有安装和切换都由 pyenv 统一管理。关键不在装几个版本,而在于让 shell 正确识别并加载 pyenv 的控制逻辑。
安装 Homebrew 和 pyenv
如果还没装 Homebrew,先运行:
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 装完执行 brew update 确保源最新
- 再运行 brew install pyenv 安装版本管理器
配置 shell 环境(zsh 默认)
macOS Catalina 及之后默认用 zsh,需把三行初始化脚本写入 ~/.zshrc:
- export PYENV_ROOT="$HOME/.pyenv"
- export PATH="$PYENV_ROOT/bin:$PATH"
-
eval "$(pyenv init - zsh)"(注意:新版 pyenv 推荐带
zsh参数,比pyenv init -更稳定)
写完后执行 source ~/.zshrc 生效,或新开终端验证:pyenv --version 应有输出。
安装与查看 Python 版本
pyenv 默认从源码编译安装,所以首次可能较慢,且依赖系统工具:
- 先装必要依赖:brew install openssl readline sqlite3 xz zlib
- 查可装版本:pyenv install --list | grep "^\s*[0-9]\+\.[0-9]\+\.[0-9]\+$"(过滤出稳定版)
- 装两个常用版本示例:pyenv install 3.11.9 和 pyenv install 3.12.5
- 装完后运行 pyenv versions,带 * 的是当前激活版本
三种切换方式,按需使用
pyenv 提供三层作用域,互不干扰:
- 全局切换:运行 pyenv global 3.11.9,所有新终端默认用该版本
- 项目级切换:进项目目录后运行 pyenv local 3.12.5,会生成 .python-version 文件,进出目录自动生效
- 临时会话切换:运行 pyenv shell 3.12.5,只影响当前终端窗口,关闭即失效
切换后用 python --version 和 which python 确认是否指向 pyenv 管理路径(如 ~/.pyenv/versions/3.12.5/bin/python)。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











