在本地管理多个 Python 版本是开发中的常见需求,以下是几种主流且高效的方法,适用于不同操作系统:
一、使用 pyenv(推荐给 macOS/Linux 用户)
原理:通过修改环境变量动态切换 Python 版本,不依赖系统自带的 Python。
1. 安装 pyenv
1 | # 使用安装脚本 |
2. 常用命令
1 | # 查看可安装版本 |
二、使用 conda(跨平台,适合科学计算场景)
原理:通过虚拟环境管理 Python 版本和依赖。
1. 安装 Miniconda/Anaconda
从官网下载安装包:https://docs.conda.io/en/latest/miniconda.html
2. 创建不同 Python 版本的环境
1 | # 创建名为 py38 的环境,指定 Python 3.8 |
三、使用 Docker(适合隔离开发环境)
通过容器化技术隔离不同项目环境。
示例 Dockerfile
1 | FROM python:3.7-slim |
使用不同镜像版本
1 | # 运行 Python 3.9 容器 |
四、Windows 用户的替代方案
pyenv-win(类似 Unix 的 pyenv):
1
2
3# 安装命令
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"
& "./install-pyenv-win.ps1"手动安装多个版本:
- 从官网下载不同版本的安装包(如
python-3.8.exe
和python-3.10.exe
) - 安装时勾选 “Add to PATH”,但通过修改可执行文件名区分版本:
1
2# 将 Python 3.8 的可执行文件重命名
mv /path/to/python3.8/python.exe /path/to/python3.8/python38.exe
- 从官网下载不同版本的安装包(如
五、通用技巧:虚拟环境 + 版本指定
即使使用系统 Python,也可通过 venv
或 virtualenv
隔离环境:1
2
3
4
5
6# 使用特定 Python 版本创建虚拟环境
/path/to/python3.9 -m venv myenv
# 激活环境
source myenv/bin/activate # Linux/macOS
myenv\Scripts\activate.bat # Windows
版本管理工具对比
工具 | 适用系统 | 特点 |
---|---|---|
pyenv | macOS/Linux | 轻量级,纯命令行操作 |
conda | 跨平台 | 集成包管理,适合科学计算 |
Docker | 跨平台 | 完全环境隔离,但需学习容器技术 |
手动管理 | 所有系统 | 灵活性高,但维护成本较高 |
选择工具时,建议优先使用 pyenv(Unix)或 conda(跨平台)以简化操作。