一句话总结:入门学习选官方,深度学习选 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.txt和pyproject.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是走不通的,必须选择 Anaconda 或 uv。
组合使用策略
很多开发者会组合使用:
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,所有项目共享 | 改用 uv 或 Anaconda 做版本管理 |
| 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 | 官方安装做不到 |
| 老项目维护 | 保持原有工具链 | 别折腾 |
工具没有绝对的好坏,只有场景的差异。版本管理能力 和下载安装速度是两个最容易被忽视但实际影响巨大的决策因素。理解每种工具的设计哲学,才能在正确的场景做出正确的选择。
参考链接
- Python 官方:www.python.org/downloads/
- Miniconda:docs.conda.io/projects/mi...
- uv 文档:docs.astral.sh/uv/
- 清华源:mirrors.tuna.tsinghua.edu.cn/