本文目录导读:

管理 Python 多版本,最推荐的方式是使用 pyenv(macOS/Linux)或 pyenv-win(Windows),搭配 venv 虚拟环境,它们能让你轻松安装、切换不同 Python 版本,并且为每个项目创建隔离的环境。
以下是完整的方案和实战步骤:
核心工具组合
| 工具 | 作用 | 适用平台 |
|---|---|---|
| pyenv / pyenv-win | 管理多个 Python 解释器(安装、切换、卸载) | macOS / Linux / WSL / Windows |
| venv (py内置) 或 virtualenv | 为每个项目创建独立的虚拟环境,避免包冲突 | 全平台 |
| pipenv / poetry | 更高级的包管理 + 环境管理(自动管理虚拟环境) | 全平台 |
安装 pyenv(推荐)
macOS / Linux
# 使用官方安装脚本 curl https://pyenv.run | bash # 安装完成后,将以下内容添加到 ~/.bashrc 或 ~/.zshrc export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv virtualenv-init -)" # 可选,自动激活虚拟环境 # 重新加载 shell source ~/.bashrc
Windows
安装 pyenv-win:
# 使用 pip 安装 pip install pyenv-win --target %USERPROFILE%\\.pyenv # 或使用 Chocolatey choco install pyenv-win
常用 pyenv 命令
# 查看可安装的 Python 版本列表 pyenv install --list # 安装指定版本(如 3.10.5、3.11.0) pyenv install 3.10.5 pyenv install 3.11.0 # 查看已安装的版本 pyenv versions # 设置全局默认版本 pyenv global 3.11.0 # 设置当前 shell 的临时版本 pyenv shell 3.10.5 # 设置某个目录(项目)的版本 cd my_project pyenv local 3.10.5 # 会在当前目录生成 .python-version 文件
创建虚拟环境
使用 python -m venv(内置,推荐)
# 创建虚拟环境(假设当前 pyenv 指向 Python 3.10.5) python -m venv myenv # 激活(macOS/Linux) source myenv/bin/activate # 激活(Windows) myenv\\Scripts\\activate # 退出 deactivate
使用 pyenv-virtualenv(更简洁)
# 创建虚拟环境 pyenv virtualenv 3.10.5 myproject-env # 激活 pyenv activate myproject-env # 退出 pyenv deactivate
完整工作流示例
# 1. 安装多个 Python 版本 pyenv install 3.8.16 pyenv install 3.10.5 pyenv install 3.11.0 # 2. 全局默认版本 pyenv global 3.10.5 # 3. 为项目指定版本 mkdir my_legacy_project && cd my_legacy_project pyenv local 3.8.16 python --version # 输出:Python 3.8.16 # 4. 创建并激活虚拟环境 python -m venv .venv source .venv/bin/activate # 5. 安装项目依赖 pip install -r requirements.txt # 6. 工作完毕后退出 deactivate
其他实用管理工具
✅ pipenv(适合简单项目)
pip install pipenv # 指定 Python 版本创建项目 pipenv --python 3.10 # 激活环境 pipenv shell # 安装依赖 pipenv install requests
✅ poetry(适合库或大型项目)
# 安装 curl -sSL https://install.python-poetry.org | python3 # 初始化项目 poetry new my_project cd my_project poetry env use python3.10 # 指定版本 # 激活环境 poetry shell
常见问题
Q:pyenv install 很慢 / 失败?
- 确保已安装编译依赖(macOS:
xcode-select --install,Ubuntu:sudo apt install build-essential zlib1g-dev libssl-dev) - 使用镜像源:
pyenv install 3.10.5 -v查看详细错误
Q:Windows 上推荐使用 WSL?
是的,在 WSL (Ubuntu) 中使用 pyenv 体验最好,Windows 原生 pyenv-win 功能略有限制。
Q:如何彻底删除某个版本?
pyenv uninstall 3.8.16
总结推荐方案
| 场景 | 推荐工具组合 |
|---|---|
| 入门/简单项目 | pyenv + venv |
| 专业开发 | pyenv + pipenv 或 poetry |
| Windows 用户 | pyenv-win + venv,或直接使用 WSL |
| 需要多个 Python 版本运行测试 | pyenv + tox |
使用 pyenv 后,你就可以彻底告别手动下载安装包、修改 PATH 的混乱方式了。