Python官方包、Conda、uv,应该怎么选

一句话总结:入门学习选官方,深度学习选 Conda,工程开发选 uv。


一、三种方式速览

维度 python.org 官方安装 Anaconda / Miniconda uv (Astral)
定位 标准发行版 数据科学发行版 + 包管理 极速 Python 包管理器
包管理器 pip + venv conda + pip uv(内置 pip 兼容)
虚拟环境 venv conda env uv venv
安装速度 中等(pip 串行下载) 较慢(conda 解析依赖慢) 极快(并行下载 + Rust 编写)
Python 版本管理 不支持(全局单一版本) ✅ 支持多版本 ✅ 支持多版本
二进制包 需编译(部分) 预编译(科学计算友好) 预编译 wheel
典型场景 教学、通用开发 深度学习、CV、数据科学 后端开发、CI/CD、现代工程
磁盘占用 大(Anaconda ~3GB)
多项目版本隔离 仅靠 venv(Python 版本固定) conda env 隔离 uv python install + uv run

二、详解三种安装方式

1. python.org 官方安装 ------ 最纯粹,但版本管理是硬伤

特点:

  • 来自 Python 官方的标准发行版,无任何预装第三方库
  • 使用 pip 安装包,venv 管理虚拟环境
  • 跨平台支持最好,文档最权威
  • ⚠️ 致命短板:无法进行 Python 版本管理。你全局安装了 Python 3.11,那所有项目都只能跑在 3.11 上。如果 A 项目需要 3.10、B 项目需要 3.13,官方安装束手无策。

适用人群:

  • Python 初学者(理解标准工具链)
  • 只需要单一 Python 版本的简单脚本
  • 编写教程或需要最小化环境的情况

安装步骤:

本文只讲述Windows系统上的安装

首先先来到python官网Welcome to Python.org

鼠标悬浮到Downloads,选择版本后开始下载,这里一般都是最新的稳定版

下载后安装,注意要勾选 Add Python to PATH,选择安装路径,这里就不再赘述

日常使用:

bash 复制代码
# 创建虚拟环境(但 Python 版本固定为你全局安装的那个)
python -m venv .venv

# 激活
source .venv/bin/activate      # macOS/Linux
.venv\Scripts\activate.bat     # Windows CMD

# 安装依赖(pip 是串行下载,大项目很慢)
pip install -r requirements.txt

# 退出
deactivate

为什么不能做版本管理? venv 只是复制当前 Python 解释器到一个隔离目录,它不能安装另一个版本的 Python 。如果你全局装的是 3.11,venv 创建出来的环境也只能是 3.11。想要 3.10 和 3.13 共存,必须借助外部工具。


2. Anaconda / Miniconda ------ 数据科学的标配,天然支持多版本

特点:

  • Anaconda:自带 250+ 预装科学计算包(NumPy、Pandas、SciPy、Jupyter 等),体积大
  • Miniconda:仅包含 conda 包管理器,轻量,推荐
  • 天然支持 Python 版本管理conda create -n py310 python=3.10 一条命令搞定,A 项目用 3.10、B 项目用 3.13 完全没问题
  • conda 可以管理 Python 版本和系统级依赖(如 CUDA、MKL)
  • GPU 驱动、C++ 编译依赖 的处理最成熟
  • 虚拟环境统一管理,随时激活,有环境复用的特点,如果A和B项目的环境是一样的,可以不创建新的虚拟环境

适用人群:

  • 深度学习、计算机视觉、NLP 研究者(PyTorch/TensorFlow 环境搭建)
  • 需要同时维护多个 Python 版本的项目
  • 需要管理非 Python 依赖(C/C++/CUDA)的场景

安装步骤:

本文只讲Windows的安装

我们来到anaconda3的官网,当然我推荐使用清华源,不然下载太慢了,这里给出安装包列表链接miniconda,或者你想用anaconda3anaconda3,注意要认准anaconda3,不要下到anaconda1或者2了

日常使用:

bash 复制代码
# ✅ 创建环境并指定 Python 版本(版本管理核心能力)
conda create -n project-a python=3.10
conda create -n project-b python=3.13

# 激活不同环境
conda activate project-a   # Python 3.10
conda activate project-b   # Python 3.13

# 安装深度学习框架(conda 会自动处理 CUDA 依赖)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

# 导出环境
conda env export > environment.yml

3. uv ------ 后端开发的未来,并行下载 + 原生多版本管理

特点:

  • Astral 公司开发(同团队出品 Ruff linter)
  • Rust 编写 ,包安装速度比 pip 快 10-100 倍
  • 并行下载uv sync异步并行下载项目中的多个依赖包,而 pip 和 conda 都是串行或半串行下载,大项目差距尤其明显
  • 内置 Python 版本管理uv python install 3.10 3.11 3.12 一键安装多版本,项目之间完全隔离
  • 单文件二进制,无需 Python 即可运行
  • 完全兼容 requirements.txtpyproject.toml

适用人群:

  • 后端开发、Web 开发(Django/FastAPI/Flask)
  • 追求极致构建速度的工程师
  • 需要多项目多 Python 版本并存的开发者
  • CI/CD 流水线、Docker 镜像构建

安装步骤:

bash 复制代码
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

日常使用:

bash 复制代码
# ✅ 安装多个 Python 版本(版本管理)
uv python install 3.10 3.11 3.12 3.13

# 查看已安装版本
uv python list

# 创建项目并指定 Python 版本
uv init my-project --python 3.11
cd my-project

# 添加依赖(自动写入 pyproject.toml)
uv add fastapi sqlalchemy

# ✅ uv sync:并行异步下载所有依赖,生成 uv.lock 锁定文件
# 相比 pip install -r requirements.txt(串行下载),速度快数倍
uv sync

# 运行脚本(自动使用项目指定的 Python 版本和虚拟环境)
uv run python main.py

# 指定不同版本运行
uv run --python 3.10 python script.py

uv 的核心优势 ------ 并行下载实测对比:

bash 复制代码
# 假设项目有 50+ 个依赖
pip install -r requirements.txt     # 串行下载,逐个排队,可能 2-5 分钟
conda install --file requirements.txt  # 解析依赖慢,下载也慢
uv sync                              # 并行异步下载,通常 10-30 秒

uv 的下载器会同时发起多个 HTTP 请求,充分利用带宽。对于依赖众多的后端项目(如 Django + Celery + Redis + PostgreSQL 驱动等),uv sync 的体验是碾压级的。


三、如何选择?按场景决策

复制代码
你的场景是什么?
│
├─ 学习 Python 基础 / 学校课程 ──────► python.org 官方 + venv
│   └─ ⚠️ 注意:只能用一个 Python 版本,无法多版本并存
│
├─ 深度学习 / CV / NLP / 科研 ───────► Miniconda(必选项)
│   └─ 需要 PyTorch + CUDA 环境,且需要多版本 Python
│
├─ 后端开发 / Web / API / 微服务 ────► uv(强烈推荐)
│   └─ 并行下载快、多版本管理、CI/CD 友好
│
├─ 数据分析 / Jupyter Notebook ─────► Miniconda 或官方 + pip
│
└─ 快速脚本 / 临时任务 ─────────────► uv(无需全局安装 Python)

版本管理需求是核心决策点

需求 官方 pip Anaconda uv
A 项目 Python 3.10,B 项目 Python 3.13 ❌ 做不到 conda create -n a python=3.10 uv init --python 3.10
同时安装多个 Python 版本 ❌ 需 pyenv 辅助 ✅ 原生支持 uv python install
切换版本 conda activate uv run --python

关键结论 :如果你需要多个项目使用不同 Python 版本 ,官方安装包 + venv 是走不通的,必须选择 Anacondauv

组合使用策略

很多开发者会组合使用

bash 复制代码
# 方案:Miniconda 管理数据科学环境,uv 管理工程环境

# 1. 深度学习环境(conda 管 CUDA + Python 版本)
conda create -n torch python=3.11
conda activate torch
conda install pytorch torchvision pytorch-cuda=12.1 -c pytorch -c nvidia

# 2. 后端 API 环境(uv 管依赖 + 并行下载)
mkdir my-api && cd my-api
uv init --python 3.12
uv add fastapi uvicorn
uv sync        # 并行下载,秒级完成
uv run uvicorn main:app

四、避坑指南

坑点 说明 解决方案
官方安装无法多版本 全局只有一个 Python,所有项目共享 改用 uvAnaconda 做版本管理
Conda 与 pip 混用 先用 conda 装包,再用 pip 装,可能破坏依赖 优先 conda install,确实没有的再用 pip
uv 的 Python 管理 uv 可以自动下载 Python,但可能与你系统 Python 冲突 使用 uv python install 明确管理,不污染系统
Anaconda 体积爆炸 基础安装就 3GB+ 改用 Miniconda,按需安装
pip 串行下载慢 大项目依赖多,pip 逐个下载极慢 改用 uv sync,并行异步下载
CUDA 版本不匹配 PyTorch 与系统 CUDA 版本不一致 用 conda 安装 pytorch-cuda,让 conda 自动匹配

五、总结

你的身份 推荐方案 原因
刚学 Python 的大学生 官方 python.org + venv 理解原理最重要,但要知道它不能管理 Python 版本
做深度学习/计算机视觉 Miniconda CUDA 环境管理 + 多版本 Python 无可替代
后端/全栈工程师 uv 并行下载极速 + 原生多版本管理,2024 年后新项目的最佳选择
需要多项目多版本并存 uv 或 Anaconda 官方安装做不到
老项目维护 保持原有工具链 别折腾

工具没有绝对的好坏,只有场景的差异。版本管理能力下载安装速度是两个最容易被忽视但实际影响巨大的决策因素。理解每种工具的设计哲学,才能在正确的场景做出正确的选择。


参考链接

相关推荐
凡尘——雨落凡尘2 小时前
Python列表索引越界IndexError问题深度解析与解决办法
python·indexerror·list index out of range
郝同学今天有进步吗3 小时前
构建 LangGraph Code Review Agent(七):实现规则匹配、Finding Guardrails 与 Markdown 报告
python·ai·fastapi·code review
xuhe23 小时前
一劳永逸!解决 AutoDL 系统盘(30GB)爆满与 pip 缓存迁移
linux·python·ai·jupyter
CodexDave4 小时前
Python 自动化接单实战(一):把 CSV 需求做成配置驱动解析器
java·python·自动化·json·数据清洗·python自动化·csv处理
m沐沐4 小时前
【深度学习】循环神经网络RNN——结构、原理与长期依赖问题解析
人工智能·pytorch·python·rnn·深度学习·算法·机器学习
风吹心凉4 小时前
python3基础2026.7.28
开发语言·python
曲无忆5 小时前
LLMs赋能依赖类型证明自动化
python
一次旅行5 小时前
act本地预跑GitHub Actions:Python项目完整CI/CD流水线实战
python·ci/cd·github
玉鸯5 小时前
RAG 全链路调优指南:从 Chunking 到 Reranker
python·llm·agent