下面把 python -m venv(简称 venv)和 Anaconda/Miniconda(conda)放在同一张对照表里讲清楚:它们都能隔离环境,但定位和能力边界不一样。
共同点(相同)
- 都能创建相互隔离的 Python 环境(不同项目互不干扰)
- 都支持为每个项目安装不同版本的依赖
- 都能做到'这个项目用这一套包/解释器'
本文对比了 Python 虚拟环境工具 venv 与 Anaconda/Miniconda(conda)的差异。两者均能隔离环境,但 venv 基于标准库,轻量且适合纯 Python 工程开发;conda 支持非 Python 依赖管理,适合数据科学及需处理系统二进制依赖的场景。文章详细分析了安装范围、版本管理、包解析能力及体积差异,提供了选型建议和常用命令,并提示了混用依赖的风险及自定义目录管理的注意事项。
下面把 python -m venv(简称 venv)和 Anaconda/Miniconda(conda)放在同一张对照表里讲清楚:它们都能隔离环境,但定位和能力边界不一样。
1.1 安装范围
venv:只管 Python 生态(pip 包)
conda:管 Python + 非 Python 依赖(更像'环境管理器')
1.2 作用范围
venv:通常一个项目一个 venv
conda:本机多个项目共享一个或几个 env
venv:用'当前 python'创建环境
conda:创建环境时直接指定 Python 版本
venv:环境隔离 + pip 装包
conda:用 conda(或 mamba)装包
venv:轻量、几乎零侵入
Anaconda:很重
Miniconda:轻很多
cd xxx/xxx/myproject
python -m venv .venv
# 安装项目依赖
pip install -r requirements.txt
# 后续使用时
cd xxx/xxx/myproject
source .venv/bin/activate
# 退出环境
deactivate
conda create -n myenv python=3.11
conda activate myenv
conda install numpy pandas
# 退出环境
conda deactivate
venv
conda
conda create -n myenv python=3.7
# 环境会放到 conda 的默认 envs 目录(由 conda 配置决定;常见是 <conda 安装目录>/envs 或 ~/.conda/envs)
# 你可以用 conda env list / conda info --envs 直接看到实际路径
# 激活环境
conda activate myenv
# 直接使用名称即可
conda create -p xxx/xxx/xxx/xxx/myenv python=3.7
# 环境就在你指定的那个目录
# 激活环境
conda activate xxx/xxx/xxx/xxx/myenv
# 通常需要用'路径'激活
# 目前尚未验证
conda config --add envs_dirs /data/conda_envs
conda create -n myenv python=3.7

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online