Python 虚拟环境(conda)
Python 虚拟环境(venv)
Python 包管理工具(uv)

转载:
https://blog.csdn.net/asialee_bird/article/details/148604776

1. uv 的特点

uv 是一个新兴的 Python 包管理工具,它旨在提供比 pip 和 poetry 更快、更现代的依赖管理体验。uv 由 Charles Murphy 开发,基于 Rust 构建,具有极高的性能和兼容性,支持标准的 requirements.txt 文件以及 pyproject.toml 中的依赖声明。

特点 描述
⚡ 极速安装 使用 Rust 编写,依赖解析速度远超 pip 和 Poetry
🔐 安全性 支持签名包验证(PEP 458)
📦 支持多种格式 兼容 wheels、sdists、editable installs
🧩 虚拟环境管理 自动创建和管理虚拟环境
🧪 依赖锁定 自动生成 uv.lock 文件确保可重复构建
📄 多种配置方式 支持 requirements.txt、pyproject.toml 等
🌍 跨平台 支持 macOS、Linux、Windows

2. 安装 uv

2.1. 使用官方推荐方式

# 可用
curl -Ls https://install.uv.rs | sh
# 报错 curl: (35) Recv failure: Connection was reset
curl -LsSf https://astral.sh/uv/install.sh | sh

安装后会将 uv 添加到你的 PATH 中。

2.2. 使用 pip 安装(Python >= 3.8)

pip install uv
# 使用ali云的源更快
pip install uv -i https://mirrors.aliyun.com/pypi/simple/

2.3. 使用 conda/mamba 安装

conda install -c conda-forge uv

3. 基本使用方法

3.1. 初始化项目并创建虚拟环境

mkdir myproject && cd myproject
uv venv
# uv venv 会自动在当前目录下创建 .venv 虚拟环境。
uv venv myenv
# uv venv 会自动在当前目录下创建 myenv 虚拟环境。

# Linux
source .venv/bin/activate  
# Windows(需要再CMD执行): 
.venv\Scripts\activate
# Windows(VSCode执行):
# 执行快捷键,打开命令面板
# Windows/Linux: Ctrl + Shift + P
# macOS: Cmd + Shift + P
# 打开命令面板。
# 输入命令:Python: Select Interpreter,然后回车。 
# 选择路径

3.1.1. CMD 运行结果

.venv\Scripts\activate

PS D:\works\demo\mcp> uv venv
Using CPython 3.11.7 interpreter at: D:\programs\anaconda3\python.exe
Creating virtual environment at: .venv
Activate with: .venv\Scripts\activate

在这里插入图片描述

3.1.2. VScode 运行结果

执行快捷键,打开命令面板
Windows/Linux: Ctrl + Shift + P
macOS: Cmd + Shift + P
打开命令面板。
输入命令:Python: Select Interpreter,然后回车。
选择路径:.venv\Scripts\python.exe
在这里插入图片描述

3.2. 安装依赖

uv pip install -r requirements.txt
uv pip install requests
# 安装开发依赖
# 注意:目前 --dev 仅在使用 pyproject.toml 时有效。
uv pip install pytest --dev

安装依赖:

PS D:\works\demo\mcp> uv pip install requests
Resolved 5 packages in 16.78s
Prepared 5 packages in 3.40s
░░░░░░░░░░░░░░░░░░░░ [0/5] Installing wheels...
warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
         If the cache and target directories are on different filesystems, hardlinking may not be supported.
         If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Installed 5 packages in 60ms
 + certifi==2025.6.15
 + charset-normalizer==3.4.2
 + idna==3.10
 + requests==2.32.4
 + urllib3==2.5.0

查看依赖:

PS D:\works\demo\mcp> uv pip list 
Package            Version
------------------ ---------
certifi            2025.6.15
charset-normalizer 3.4.2
idna               3.10
requests           2.32.4
urllib3            2.5.0

3.3. 生成依赖文件

uv pip freeze > requirements.txt

在这里插入图片描述

3.4. 使用 pyproject.toml 管理依赖

你可以创建一个 pyproject.toml 来定义项目依赖:

[project]
name = "myapp"
version = "0.1.0"
dependencies = [
    "requests",
    "fastapi>=0.68.0,<0.70.0"
]

[build-system]
requires = ["setuptools>=42"]
build-backend = "setuptools.build_meta"

然后执行:

# 这会生成 uv.lock 文件,用于精确锁定依赖版本。
uv lock

这会根据 pyproject.toml 安装依赖,并自动生成 uv.lock 文件。

3.5. 升级依赖

uv pip upgrade requests
# 升级所有依赖
uv pip upgrade --all

3.6. 删除依赖

uv pip uninstall requests

4. 高级功能

4.1. 可重复构建(Reproducibility)

通过 uv.lock 文件可以保证不同机器上的依赖完全一致:

uv sync

该命令会严格按照 uv.lock 中的版本安装依赖。

4.2. 支持编辑模式(Editable Installs)

uv pip install -e .

适合本地开发调试。

4.3. 镜像源设置(Mirror Support)

uv pip install requests --index-url https://pypi.tuna.tsinghua.edu.cn/simple

支持国内镜像加速安装。

5. uv pip poetry 对比

功能 uv pip poetry
依赖解析速度 ⚡⚡⚡ ⚡⚡
锁机制 ✅ (uv.lock) ✅ (poetry.lock)
虚拟环境管理 ❌(需配合 venv)
编辑模式支持
依赖冲突检测
打包发布支持
镜像源支持
安装方式 独立二进制、pip、conda pip pip、standalone installer

适用场景推荐

场景 推荐
快速脚本、小项目 ✅ uv + requirements.txt
Web 后端开发 ✅ uv + pyproject.toml
数据科学、AI 模型训练 ✅ uv + Conda(如 Miniforge)
需要打包发布的库 ✅ Poetry
需要多 Python 版本切换 ✅ pyenv + uv

6. 示例流程

# 创建项目目录
mkdir mcp && cd mcp

# 创建虚拟环境
uv venv

# 激活虚拟环境
# Linux
source .venv/bin/activate  
# Windows(需要再CMD执行): 
.venv\Scripts\activate
# Windows(VSCode执行):
# 执行快捷键,打开命令面板
# Windows/Linux: Ctrl + Shift + P
# macOS: Cmd + Shift + P
# 打开命令面板。
# 输入命令:Python: Select Interpreter,然后回车。 
# 选择路径

# 安装依赖
uv pip install requests

# 查看已安装包
uv pip list

# 冻结依赖
uv pip freeze > requirements.txt

# 生成锁文件(同级目录下会看到 uv.lock 文件)
uv lock

# 后续只需运行
uv sync
Logo

全面兼容主流 AI 模型,支持本地及云端双模式

更多推荐