Python环境怎么搭-conda-uv-pixi
Python 环境怎么搭?学术选 conda、企业选 uv、新潮选 pixi
动手之前,先立两条准则:
- 核心准则:用着顺手、敲着愉悦
- 延伸准则:尽量少码字、省力
一句话:环境管理工具不是越多越好,而是选一个顺手的,把它用到极致。
目录
- 为什么 Python 需要"环境管理"
- 开发环境全景
- conda —— 学术与数据科学的首选
- uv —— 企业级工程化的首选
- pixi —— 科学与工程兼得的"新物种"
- 三选一:决策指南与对比
- 同一任务,三种工具的实操对照
- 配套环境:终端 + IDE + AI
- 总结
一、为什么 Python 需要"环境管理"
Python 生态最大的痛点不是语言本身,而是依赖管理:
- 项目 A 要
numpy==1.24,项目 B 要numpy==2.0,装在一起就冲突(著名的"依赖地狱"); - 深度学习项目还要装 CUDA 版 PyTorch,跟系统 Python 纠缠不清;
- 换一台电脑 / 换同事的电脑,环境还原要半天。
于是有了"环境"(Environment)的概念:把 Python 解释器 + 依赖包 + 非 Python 的库(如 CUDA、MKL、BLAS)打包成一个个彼此隔离的独立空间,项目与项目之间互不干扰,删了重建也毫无负担。
目前主流的三种方案,恰好对应三种人群:
| 工具 | 出身 | 气质 | 典型用户 |
|---|---|---|---|
| conda | Anaconda 公司,2012 年 | 老牌、全面、科学计算生态 | 学生、科研人员、数据科学家 |
| uv | Astral(Ruff 团队),2024 年 | 极速、现代、工程化 | 企业开发者、团队协作、CI/CD |
| pixi | prefix.dev 公司,2023 年 | conda 生态 + 工程化锁文件 | 需要 conda 生态又想要工程体验的人 |
二、开发环境全景
一个完整的"开发环境"通常拆成四层,环境管理只是其中一层,但它是地基:
打造自己的开发环境
├── 终端环境(20) —— 命令行日常
├── IDE 环境(14) —— VSCode / Cursor
├── AI 环境 —— 每人必须有一款熟练使用的 AI 工具
└── Python 环境(25) —— 本文主角:conda / uv / pixi
其中 AI 环境部分值得单列(第 8 节细讲),核心结论是——“每个人必须要有一款熟练使用的 AI 工具”,并推荐了两款基于 DeepSeek 的工具(DSH、Codex + DeepSeek)。环境搭好后,AI 工具可以直接替你做"查包、查数据、写模型"这些体力活。
三、conda —— 学术与数据科学的首选
3.1 它是什么
conda 是 Anaconda 公司推出的跨语言包管理器 + 环境管理器。它最核心的优势是:不仅能管 Python 包,还能管 Python 之外的东西——CUDA、MKL、BLAS、编译器、R 包、C 库。
这对学术场景(深度学习、数据分析)极其重要:pip install torch 常常因为 CUDA 版本、编译环境不匹配而翻车,而 conda install pytorch 会把配套的 CUDA 运行库一起装上,开箱即用。
注意区分:Anaconda(全家桶,2~3GB,啥都带)与 Miniconda(精简版,只带 conda 本体,按需安装)。学术场景也推荐 Miniconda,省空间、更清爽,需要什么装什么。
3.2 安装
# Windows:下载 Miniconda 安装包(官网 https://docs.conda.io/en/latest/miniconda.html)
# macOS / Linux:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
国内用户建议配置清华镜像源,速度提升明显:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --set show_channel_urls yes
3.3 常用命令速查
# 创建环境(指定 Python 版本)
conda create -n dl python=3.11
# 激活 / 退出环境
conda activate dl
conda deactivate
# 查看环境列表
conda env list
# 安装包(从 conda 源)
conda install numpy pandas
# 从 PyPI 装(conda 源没有的包用 pip 兜底,注意要 pip install,不是 pip3)
pip install torch
# 导出 / 重建环境(学术论文复现常用)
conda env export > environment.yml
conda env create -f environment.yml
# 删除环境
conda remove -n dl --all
💡 提速技巧:conda 的依赖求解(solver)很慢,学术圈常用 mamba(C++ 重写的 conda)替代:
conda install mamba -n base -c conda-forge,之后mamba install xxx速度快一个数量级。
3.4 案例实操(深度学习环境)
一套标准的 conda 学术工作流实操流程如下:
# 1. 新建项目目录
mkdir dl-case && cd dl-case
# 2. 创建并激活 dl 环境
conda create -n dl python=3.11 -y
conda activate dl
# 3. 安装深度学习与数据处理全家桶
pip install torch numpy pandas scikit-learn torchsummary
# 4. 数据准备:把 手机价格预测.csv 拷到项目下的 data/ 目录
接着配合 DSH(DeepSeek Harness)用三条提示词完成整个建模:
- 提示词 1:
当前项目使用 conda 的 dl 环境,检查该环境下有哪些 pip 包 - 提示词 2:
检查当前项目 data 目录下的 csv 数据文件:小明创办了一家手机公司……根据这些性能得到 4 个价格区间 - 提示词 3:
使用 pytorch 全连接网络进行深度学习模型建模、训练与测试……分 3 层、激活函数 relu、数据处理/训练/评估封装成三个函数、模型保存到 model 目录、代码保存为 model.py
这就是"核心准则——尽量少码字"的极致体现:环境只建一次,代码交给 AI 写。
3.5 优点与缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 跨语言依赖(CUDA/MKL)管理最强 | 环境创建慢,求解器耗时 |
| 学术生态成熟,教程最多 | 体积大,Anaconda 全家桶臃肿 |
| 支持 Python 多版本切换 | 环境间隔离靠"激活",切换麻烦 |
| 论文复现(environment.yml)标准 | 与企业工程规范(锁文件)脱节 |
四、uv —— 企业级工程化的首选
4.1 它是什么
uv 是 Astral 公司(就是写 Ruff 的那家)用 Rust 写的新一代 Python 包管理器,2024 年发布后迅速成为社区宠儿。它最大的标签是快——比 pip 快 10~100 倍,同时把 pip、pip-tools、virtualenv、pyenv、poetry 的功能合并成一个工具。
对应企业场景的关键词是:团队协作、CI/CD、可复现构建。uv 用 pyproject.toml + uv.lock 解决了这个诉求:
pyproject.toml:声明依赖(要什么);uv.lock:锁文件,精确到每个依赖的版本与哈希(装出来什么),提交到 Git 后全团队、CI、Docker 得到一模一样的环境。
4.2 安装
# Windows(PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或者用 pip 装(作为临时工具最方便)
pip install uv
4.3 核心命令速查
# 初始化一个项目(生成 pyproject.toml)
uv init my-project && cd my-project
# 添加依赖(自动解析 + 写锁文件)
uv add numpy pandas scikit-learn
# 添加开发依赖(测试、lint 工具等)
uv add --dev pytest ruff
# 安装/同步环境(按锁文件精确还原)
uv sync
# 运行命令(自动创建 .venv 并同步)
uv run python model.py
# 管理 Python 版本(内置 pyenv 功能)
uv python install 3.11 3.12
uv python pin 3.11
# 查看依赖树
uv tree
# 升级锁定版本
uv lock --upgrade-package torch
4.4 企业实践要点
# pyproject.toml(uv 生成的项目核心)
[project]
name = "dl-project"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = [
"numpy>=1.26",
"pandas>=2.0",
"torch>=2.2",
]
[dependency-groups]
dev = ["pytest", "ruff"]
团队协作流程:
# 新同事 / 新机器:clone 后一条命令搞定一切
git clone <repo> && cd <repo>
uv sync # 按 uv.lock 精确还原环境,无需手动建环境
uv run pytest # 直接跑测试
CI / Docker:
# Dockerfile 示例:利用 uv 缓存加速构建
FROM python:3.11-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-dev
COPY . .
CMD ["uv", "run", "python", "model.py"]
注意事项(写进 .gitignore):
.venv/
4.5 优点与缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 极速(Rust 编写,秒级解析) | 只解决 Python 包,管不了 CUDA 等非 Python 依赖 |
锁文件 uv.lock,工程可复现 |
相对年轻,部分旧工具链兼容性待验证 |
| 一个工具替代 pip/venv/pyenv/poetry | 团队需要学习新规范(pyproject.toml) |
| CI/Docker 友好,缓存机制成熟 | 生态围绕 PyPI,conda 源不直接用 |
💡 如果企业项目确实需要 CUDA 这类非 Python 依赖:uv + conda 混用是常见解法——用 uv 管项目依赖,用 conda 装 CUDA 工具链;
uv pip install也完全兼容在 conda 环境里工作。
五、pixi —— 科学与工程兼得的"新物种"
5.1 它是什么
pixi 是 prefix.dev 公司用 Rust 写的包管理器,可以理解为"现代化重写的 conda":
- 底层复用 conda 生态(conda-forge 源),所以 conda 能装的东西(CUDA、MKL、ROOT……)它都能装;
- 上层采用工程化设计:
pixi.toml(声明式配置)+pixi.lock(锁文件)+ 自动创建环境、无需手动激活。
对"既要 conda 的科学计算生态、又想要 uv 那样的工程体验"的人来说,pixi 是两者之间的最佳平衡点。它也是近年 HPC(高性能计算)、机器人、数据科学领域增长最快的工具之一。
5.2 安装
# Windows(PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://pixi.sh/install.ps1 | iex"
# macOS / Linux
curl -fsSL https://pixi.sh/install.sh | bash
5.3 核心命令速查
# 初始化项目(生成 pixi.toml)
pixi init dl-pixi && cd dl-pixi
# 添加依赖(conda 生态)
pixi add python=3.11 numpy pandas
# 添加 conda-forge 之外的 channel(如 PyTorch 官方源)
pixi add --channel pytorch pytorch
# 运行命令(自动同步环境,无需 activate)
pixi run python -c "import torch; print(torch.__version__)"
# 定义常用任务(类似 Makefile)
pixi task add train "python model.py"
pixi run train
# 全局安装命令行工具(类似 pipx)
pixi global install gh nvim ipython
# 查看环境信息 / 更新锁文件
pixi info
pixi update
5.4 pixi.toml 长什么样
[project]
name = "dl-pixi"
version = "0.1.0"
channels = ["conda-forge", "pytorch"]
platforms = ["win-64", "osx-arm64", "linux-64"]
[dependencies]
python = "3.11.*"
numpy = ">=1.26"
pandas = ">=2.0"
pytorch = ">=2.2"
[tasks]
train = "python model.py"
test = "pytest"
💡 亮点:
platforms字段声明支持哪些平台,锁文件会为每个平台分别锁定版本,跨平台团队协作时环境一致性远超传统 conda。
5.5 优点与缺点
| ✅ 优点 | ❌ 缺点 |
|---|---|
| conda 生态(CUDA 等非 Python 依赖)+ 锁文件,兼得两者 | 生态比 conda 年轻,疑难问题资料少 |
无需手动激活环境,pixi run 一步到位 |
国内源配置不如 conda 顺手(可用清华镜像) |
| Rust 实现,比 conda 快很多 | 与纯 PyPI 工作流(如私有源)磨合中 |
| 跨平台锁文件,团队一致性极佳 | 学习曲线在 uv 与 conda 之间 |
六、三选一:决策指南与对比
6.1 一张表看懂差异
| 维度 | conda(学术) | uv(企业) | pixi(现代/科学工程) |
|---|---|---|---|
| 开发语言 | Python | Rust | Rust |
| 依赖源 | conda-forge + PyPI | PyPI | conda-forge + PyPI |
| 非 Python 依赖(CUDA 等) | ✅ 强项 | ❌ 需配合 conda | ✅ 强项 |
| 锁文件 | ❌(environment.yml 较弱) | ✅ uv.lock | ✅ pixi.lock |
| 环境激活方式 | conda activate |
uv run(自动) |
pixi run(自动) |
| 速度 | 慢(可用 mamba 加速) | 极快 | 快 |
| 多 Python 版本管理 | ✅ | ✅(内置) | ✅ |
| 团队/CI 复现 | 一般 | 极强 | 强 |
| 学习曲线 | 平缓 | 中(工程概念多) | 中 |
| 生态成熟度 | ★★★★★ | ★★★★☆ | ★★★☆☆ |
6.2 决策树
你主要做什么?
│
├─ 科研 / 课程 / 深度学习实验(重 CUDA、重复现、求稳)
│ └─ 👉 conda(+ mamba 提速) 【学术场景】
│
├─ 企业项目 / 团队协作 / CI/CD / 服务部署
│ └─ 👉 uv(纯 Python 项目直接上)
│ └─ 需要 CUDA?→ uv + conda 混用 【企业场景】
│
├─ 既要科学计算生态、又想要现代工程体验
│ └─ 👉 pixi 【现代场景】
│
└─ 只是偶尔跑脚本 / 想装几个命令行工具
└─ 👉 uv(uvx 一键运行工具)或 pixi global
七、同一任务,三种工具的实操对照
以经典的 dl-case 案例(安装 torch 全家桶并训练)为例,三种工具完全等价:
# ---------- 方式一:conda(学术经典) ----------
conda create -n dl python=3.11 -y
conda activate dl
pip install torch numpy pandas scikit-learn torchsummary
python model.py
# ---------- 方式二:uv(企业工程) ----------
uv init dl-case && cd dl-case
uv add torch numpy pandas scikit-learn torchsummary
uv run python model.py # 自动建 .venv、自动同步
# ---------- 方式三:pixi(科学工程) ----------
pixi init dl-case && cd dl-case
pixi add python=3.11 torch numpy pandas scikit-learn
pixi run python model.py # 自动建环境,无需 activate
三种方式产出的最终效果一致:一个隔离的、装了全套深度学习依赖的环境。区别在于——conda 靠"命名环境 + 手动激活"管理,uv 靠"项目内 .venv + 锁文件"管理,pixi 靠"项目内环境 + 锁文件"管理。
对初学者建议:先学 conda(教程多、好理解、学术界通用),等进了企业或团队项目,自然过渡到 uv 或 pixi。
八、配套环境:终端 + IDE + AI
环境管理只是地基,完整的"开发环境"还包括三层,一并给出配置要点。
8.1 终端环境
| 平台 | 推荐 | 说明 |
|---|---|---|
| Windows | Windows Terminal + PowerShell 7 | 支持多标签、主题、衬线字体 |
| macOS | iTerm2 / Warp | Warp 自带 AI 命令补全 |
| Linux | 系统终端 + tmux | 多会话管理 |
加分项:oh-my-posh(跨平台美化提示符,直接显示当前 conda 环境名,一眼知道自己激活在哪)、zoxide(智能 cd)、fzf(模糊搜索历史命令)。宗旨就一条——“省力”。
8.2 IDE 环境
以 VSCode / Cursor 为例,配置要点:
// settings.json 关键配置
{
"python.defaultInterpreterPath": "~/.conda/envs/dl/bin/python", // 指向你的环境解释器
"python.analysis.extraPaths": ["./src"], // 代码跳转
"ruff.enable": true, // Ruff 扩展:极速 lint + format
"editor.formatOnSave": true
}
必装扩展:
- Python(微软官方,调试/智能提示)
- Pylance(类型检查)
- Ruff(强烈推荐,格式化 + 静态检查一体,Rust 实现飞快)
- Jupyter(数据科学必备)
💡 还有一点容易被新手忽略:“找到它的配置文件在哪里,对它进行配置”——装完扩展一定要打开 settings.json 把解释器路径、格式化工具指对,否则"环境建好了 IDE 却用不上"。
8.3 AI 环境
核心观点:“每个人必须要有一款熟练使用的 AI 工具”,常用工具矩阵如下:
| 类别 | 工具 |
|---|---|
| 网页端 | ChatGPT、DeepSeek、豆包 |
| 客户端 | Workbuddy、Hermes Agent(开源) |
| Agent 工具 | DSH(DeepSeek Harness,开源)、Codex(ChatGPT 桌面版) |
| VSCode 插件 | Codex 插件、Claude Code 插件 |
| CLI 工具 | grok build |
这里重点推荐两款 基于 DeepSeek 的工具,安装步骤照抄即可:
① DSH(DeepSeek Harness)
# 1. 安装 Node.js:https://nodejs.org/en/download
# 2. (推荐)配置国内镜像
npm config set registry https://registry.npmmirror.com
# 3. 全局安装
npm install -g @deepseek-ai/dsh
# 4. 启动
dsh web # http://127.0.0.1:3080/
# 5. 配置 DeepSeek API Key:https://platform.deepseek.com/api_keys
# 扩展:安装函数绘图插件(一次即可)
dsh plugin --profile web add dsh-function-plot
② Codex + DeepSeek
# 在 VSCode 中安装 Codex 插件,然后按 DeepSeek 官方文档配置 API:
# https://api-docs.deepseek.com/zh-cn/quick_start/agent_integrations/codex
这两款工具 + 前面建好的环境,就完整闭环了 3.4 节的三条提示词工作流:AI 查包 → AI 分析数据 → AI 写模型代码。
九、总结
回到开头的两条准则:
- 用着顺手、敲着愉悦 → 三种工具没有绝对优劣,只有场景匹配:
- 学术科研、深度学习实验 → conda(稳妥、生态全)
- 企业项目、团队协作、CI/CD → uv(极速、锁文件)
- 想要 conda 生态 + 工程体验 → pixi(新物种、两全)
- 尽量少码字、省力 → 环境建好后,把终端美化、IDE 配置、AI 工具一次性配到位,之后所有重复劳动(查包、写代码、配环境)都可以交给工具与 AI。
最后送上一句话:环境管理是投资最少、回报最高的一步——一次配好,终身受用。
参考资料
- uv 官方文档:https://docs.astral.sh/uv/
- uv GitHub:https://github.com/astral-sh/uv
- pixi 官方文档:https://pixi.prefix.dev/
- conda 官方文档:https://docs.conda.io/
- DeepSeek Codex 集成文档:https://api-docs.deepseek.com/zh-cn/quick_start/agent_integrations/codex
更多推荐


所有评论(0)