一、Windows系统(3种方案,从简单→专业)
方案1:官方py启动器(新手首选,不用改环境变量)
1. 安装多版本Python
- 官网下载3.8/3.9/3.10/3.11等不同安装包:www.python.org/downloads
- 安装关键:取消勾选 Add Python to PATH (避免覆盖系统PATH冲突),自定义安装目录:
C:\Python38、C:\Python39分开存放 - 全部装完,CMD查看已装版本:
cmd
py -0 # 列出本机所有Python,*是默认版本
py -0p # 附带安装路径
2. 切换&使用
cmd
py -3.8 # 启动python3.8
py -3.9 # 启动python3.9
# 对应版本安装库(必用格式,不会装错环境)
py -3.8 -m pip install requests
py -3.9 -m pip install numpy
想脚本固定版本:py文件首行写
#! python3.8,直接py xxx.py自动选版本
方案2:pyenv-win(专业,全局/项目目录自动切换,开发首选)
- 管理员打开PowerShell一键安装
powershell
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"
关闭终端重开,验证:pyenv --version
- 安装指定Python
powershell
pyenv install --list # 查看所有可安装版本
pyenv install 3.9.19 3.11.9 # 批量安装3.9、3.11
pyenv versions # 查看已装
- 三级切换(核心功能)
powershell
pyenv global 3.11.9 # 全局默认全系统用3.11
pyenv local 3.9.19 # 进入某个项目文件夹执行,当前文件夹永久锁定3.9(生成.python-version文件)
pyenv shell 3.10.14 # 当前终端临时切换,关终端失效
方案3:Anaconda/Miniconda(数据分析专用)
适合科学计算、多环境,可任意创建不同Python版本环境:
cmd
conda create -n py38 python=3.8
conda create -n py310 python=3.10
conda activate py38 # 切3.8
conda activate py310 # 切3.10
二、Mac / Linux(统一用pyenv,行业标准)
1. 安装pyenv
bash
# Mac(brew提前装好)
brew install pyenv
# Linux(Ubuntu/Debian)
curl https://pyenv.run | bash
2. 写入环境变量(zsh/mac默认)
bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc
3. 安装&切换Python
bash
pyenv install 3.9.20 3.12.3
pyenv versions
pyenv global 3.12.3 # 全局默认
pyenv local 3.9.20 # 当前项目目录固定版本
三、最佳实践规范
- 项目隔离依赖:每个项目配虚拟环境
bash
# pyenv环境下创建虚拟环境
python -m venv .venv
# Windows激活:.venv\Scripts\activate
# Mac/Linux激活:source .venv/bin/activate
- VSCode切换解释器:
Ctrl+Shift+P → Python:Select Interpreter,选中对应版本即可 - 不要同时手动修改系统PATH+pyenv,只用一套版本管理
四、选型速查表
| 使用场景 | 推荐工具 |
|---|---|
| 日常少量脚本、2~3个Python | Windows py启动器 |
| 后端/爬虫多项目、频繁换版本 | pyenv/pyenv-win |
| 机器学习、数据分析 | Miniconda |