Conda env & python 的包管理器

Python 有多种 包管理器与环境管理器 的工具,比如 venv, conda, uv 等等

1,如何看 conda的当前 env

2, python 的包 管理器的比较

一、核心对比表格(一目了然)

特性维度 pip(官方默认) conda(多语言 + 环境) poetry(项目打包 + 依赖锁定) pipenv(pip+virtualenv 整合) uv(新一代高性能)
核心定位 Python 官方基础包管理器 多语言包 + 环境管理器(跨语言) 项目依赖管理 + 打包发布工具 简化版 "pip+virtualenv" 整合工具 高性能 pip 替代(快速安装 / 解析)
管理范围 仅 Python 包 Python/R/C++ 等多语言包 仅 Python 包 仅 Python 包 仅 Python 包
环境管理 无(需搭配 virtualenv/venv) 原生支持(核心功能,环境隔离) 原生支持(自动创建虚拟环境) 原生支持(自动关联环境) 无(需搭配 venv/conda)
依赖解决 仅安装指定包,不主动解决冲突 自动分析并解决跨语言依赖冲突 严格依赖锁定(生成 poetry.lock) 依赖锁定(Pipfile.lock) 极速依赖解析(比 pip 快 10-100 倍)
依赖文件 requirements.txt(松散) environment.yml(支持版本约束) pyproject.toml + poetry.lock Pipfile + Pipfile.lock 兼容 requirements.txt/pyproject.toml
打包发布 需配合 setuptools(繁琐) 不支持打包发布 原生支持(构建 wheel/sdist,上传 PyPI) 支持但体验一般 仅依赖管理,不支持打包
跨平台兼容性 强(但部分包需系统编译) 极强(预编译包,无需编译)
适用场景 简单项目、快速安装包、新手入门 数据科学、AI 开发、多语言项目 Python 项目开发 + 打包发布 中小型项目、想简化 pip+venv 流程 追求极致速度的项目、大型依赖项目
优点 轻量、官方默认、生态最广 解决复杂依赖冲突、多版本切换 依赖锁定严谨、打包发布一体化 简化环境 + 依赖管理、上手简单 速度极快、兼容现有工作流
缺点 无环境管理、依赖冲突需手动处理 包体积大、非 Python 包支持有限 学习成本略高、部分老包兼容差 依赖解析速度慢、维护力度下降 无环境管理、功能单一(仅包管理)

3,总结

大多数开发者的最终组合是:conda(环境管理)+ uv(包管理)poetry(依赖 + 打包),兼顾效率和规范性。

相关推荐
萧行之2 天前
CONDA设置、查看、管理源
conda
DeepHacking3 天前
Ubuntu 上安装 ComfyUI(NVIDIA GPU / Conda / CUDA 12.1)
linux·ubuntu·conda
不吃香菜的小趴菜3 天前
conda配置国内镜像源
conda
hui-梦苑4 天前
[Conda]环境激活钩子作用与应用
conda
做cv的小昊5 天前
【conda】打包已有conda环境并在其他服务器上搭建
运维·服务器·python·conda·运维开发·pip·开发
csdn_aspnet5 天前
用Anaconda驯服AI开发流,从数据预处理到模型部署,全链路环境标准化实战
人工智能·docker·ai·conda·anaconda
时光之源6 天前
程序猿常用命令行(Linux、Windows、Powershell、CMD、conda、pip、apt)
linux·conda·pip
YuanDaima20489 天前
解决Conda环境下RTX 50系列显卡PyTorch+Transformers+PEFT微调报错
人工智能·pytorch·笔记·python·深度学习·机器学习·conda
ZzzGo!9 天前
【已解决】conda环境报错:Error while loading conda entry point: conda-libmamba-solver
conda
0 19 天前
pycharm配置conda虚拟环境
pycharm·conda