Python 开发里最头疼的莫过于依赖冲突。同一个库不同项目要不同版本,或者系统自带 Python 被第三方包搞挂,都是常见坑。虚拟环境就是为了解决这些问题的行业标准做法。它能隔离依赖,让你在不同 Python 版本间自由切换,还能保护系统环境不被污染。
一、使用 pyenv-win 管理多版本 Python(推荐)
如果你经常要在 Python 3.8 和 3.11 之间跳来跳去,pyenv-win 是首选。它通过 shim 机制拦截命令,自动加载对应版本的解释器,无需频繁修改系统变量。
操作步骤:
-
安装工具 通过 PowerShell 执行以下命令:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile install.ps1 .\install.ps1安装完成后,将
%USERPROFILE%\.pyenv\pyenv-win\bin和%USERPROFILE%\.pyenv\pyenv-win\shims添加到系统环境变量 Path 中。 -
安装与切换版本 安装指定版本:
pyenv install 3.9.0 pyenv install 3.11.6切换当前环境:
pyenv global 3.9.0 # 全局默认 cd my_project && pyenv local 3.11.6 # 项目局部生效
优势:支持动态版本加载,无需修改系统环境变量。 劣势:需熟悉命令行操作。
二、使用 Anaconda/Miniconda 环境隔离
做数据分析或科学计算的朋友可能更熟悉 Conda。它不仅管 Python,还能处理 R 语言等非 Python 依赖,非常适合复杂项目。
操作步骤:
- 创建环境
conda create --name py38 python=3.8 conda create --name py311 python=3.11 - 激活与管理
conda activate py38 # 进入环境 conda deactivate # 退出环境 conda list # 查看已安装包
优势:跨语言依赖管理能力强,包版本锁定可靠。 劣势:安装包体积较大,占用磁盘空间多。
三、使用 Python 原生 venv 模块
如果只用一个 Python 版本,但有好几个项目,原生 venv 模块就够了。不需要装额外工具,适合轻量级项目。
操作步骤:
- 创建虚拟环境
python -m venv .venv - 激活环境
激活后命令行前会显示环境名,提醒你现在在哪干活。.venv\Scripts\activate


