以下是 Python 虚拟环境创建的几种主流方式及其详细操作指南,结合适用场景和核心特性进行对比:
🛠️ 一、内置标准库方案:venv
适用场景:Python 3.3+ 项目,轻量级隔离需求
操作步骤:
- 创建环境:
python -m venv myenv # Windows/Linux/macOS 通用1,2,6
· 生成目录结构:myenv/(含 Scripts/ 或 bin/、Lib/ 等)
- 激活环境:
· Windows:
myenv\Scripts\activate
· Linux/macOS:
source myenv/bin/activate
激活后命令行显示 (myenv) 前缀。
- 退出环境:
deactivate
优势:
· 无需额外安装,Python 自带
· 支持 --without-pip(跳过 pip 安装)、–system-site-packages(复用系统包)等参数
📦 二、第三方工具方案
- virtualenv(兼容旧版 Python)
适用场景:Python 2.7 或 3.3 以下版本
操作步骤:
pip install virtualenv # 安装工具5,9
virtualenv myenv # 创建环境
source myenv/bin/activate # 激活(Linux/macOS)
myenv\Scripts\activate # 激活(Windows)9,10
优势:
· 支持更旧的 Python 版本
· 可通过 --no-site-packages 创建纯净环境
- pipenv(依赖管理+虚拟环境)
适用场景:项目依赖精细管理
操作步骤:
pip install pipenv # 安装工具5,7
pipenv --python 3.8 # 创建环境并指定 Python 版本
pipenv shell # 激活环境
pipenv install requests # 安装包(自动更新 Pipfile)7
优势:
· 自动生成 Pipfile 和 Pipfile.lock 管理依赖
· 整合虚拟环境与包安装流程
- conda(科学计算生态)
适用场景:数据科学/跨语言依赖
操作步骤:
conda create --name myenv python=3.9 # 创建环境5
conda activate myenv # 激活
conda install numpy # 安装包
优势:
· 支持非 Python 依赖(如 C 库)
· 适合 Anaconda 生态用户
🔍 三、工具对比与选型建议
工具 Python 版本 依赖管理 适用场景
venv 3.3+ 需手动 pip 轻量隔离、标准项目
virtualenv 全版本兼容 需手动 pip 旧版 Python 支持
pipenv 3.5+ 自动锁版本 复杂依赖控制
conda 全版本 跨语言管理 数据科学/多语言项目
💡 四、最佳实践
- 依赖固化:
pip freeze > requirements.txt # 生成依赖清单8,10
pip install -r requirements.txt # 重建环境
- IDE 集成:
· VS Code/PyCharm 可直接选择虚拟环境解释器
- 目录规范:
· 虚拟环境目录名建议:.venv 或 venv(避免提交至 Git)
提示:优先使用 venv(Python 3.3+)或 pipenv(需依赖管理),旧项目维护选 virtualenv,科学计算选 conda。激活后注意命令行提示符变化,避免全局环境误操作。