本文目录导读:

管理 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 的混乱方式了。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播