在保留旧版本 Python 的同时,安全地使用或切换到新版本,而不破坏原有项目或系统依赖),关键在于 多版本共存管理 和 环境隔离。以下是推荐的最佳实践:
✅ 核心原则
-
不要删除或覆盖旧版 Python
系统(尤其是 macOS/Linux)可能依赖特定版本的 Python,强行替换会导致系统工具异常。 -
使用版本管理工具
通过工具轻松切换不同 Python 版本,避免手动修改 PATH。 -
每个项目使用独立虚拟环境
隔离依赖,避免版本冲突。
🛠️ 推荐工具(按操作系统)
🔹 通用方案:pyenv(强烈推荐)
适用于 Linux / macOS,Windows 可用
pyenv-win
功能:
- 安装多个 Python 版本(如 3.9.6、3.10.12、3.12.7)
- 全局/局部/项目级切换默认版本
- 与虚拟环境配合使用
安装(macOS/Linux):
bash
编辑
# macOS (用 Homebrew)
brew install pyenv# Linux (Ubuntu/Debian)
curl https://pyenv.run | bash
然后将以下内容加入 shell 配置文件(如 ~/.zshrc 或 ~/.bashrc):
bash
编辑
export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
重启终端或运行 source ~/.zshrc
使用示例:
bash
编辑
# 查看可安装版本
pyenv install --list# 安装新版本(如 3.12.7)
pyenv install 3.12.7# 查看已安装版本
pyenv versions# 设置全局默认版本(不影响系统 python)
pyenv global 3.12.7# 为某个项目设置特定版本(在项目目录下执行)
pyenv local 3.9.6 # 此目录及子目录自动使用 3.9.6
💡
pyenv local会在当前目录生成.python-version文件,团队协作时可提交该文件,确保所有人使用相同版本。