Python工程工具链:uv + 虚拟环境
Python下一代包管理工具链

官网:Astral: High-performance Python tooling
特点:
一个单一的工具来取代pip、pip工具、pipx、诗歌、pyenv、麻绳、virtualenv等。
比pip快10-100倍。
通过通用锁文件提供全面的项目管理。
运行脚本,支持内联依赖元数据。
安装和管理Python版本。
运行并安装作为Python包发布的工具。
包括一个pip兼容接口,可通过熟悉的CLI提高性能。
支持可扩展项目的Cargo风格工作区。
磁盘空间效率高,具有用于依赖关系重复数据消除的全局缓存。
无需Rust或Python即可通过curl或pip安装。
支持macOS、Linux和Windows。
安装:
nstall uv with our standalone installers:
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Or, from PyPI:
# With pip.
pip install uv
# Or pipx.
pipx install uv
If installed via the standalone installer, uv can update itself to the latest version:
uv self update
安装uv网络失败解决方案


使用
新建文件夹uv_test

这里使用VS CODE打开

创建虚拟环境
uv venv

激活虚拟环境

注意:如果开发工具装有python插件,可以自动识别

虚拟环境安装好以后,就可以尝试安装工具包了

uv pip install flask

导出虚拟环境依赖软件包版本到requirements.txt
uv pip freeze > requirements.txt

参考:
uv 是 Astral 团队推出的Rust 编写、极速 Python 包 / 环境管理器,兼容 pip/venv 工作流,安装快 8–100 倍、自带虚拟环境、依赖解析强、缓存高效。
一、安装(3 种方式)
1.1 pip 安装(通用)
pip install uv
1.2 官方脚本(推荐,自动配置 PATH)
Linux/macOS:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows(PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
1.3 验证安装
uv --version
二、核心命令(项目 + 环境管理) 2.1 新项目初始化(一键创建)
# 创建项目+pyproject.toml+.venv
uv init myproject
cd myproject
# 或在已有目录初始化
uv init
2.2 虚拟环境管理(内置,无需 venv)
# 创建 .venv(自动)
uv venv
# 激活(Windows)
.venv\Scripts\activate
# 激活(macOS/Linux)
source .venv/bin/activate
# 查看环境路径
uv venv --path
2.3 依赖安装 / 移除
# 安装最新版
uv add requests
# 安装指定版本
uv add "requests==2.31.0"
# 从 requirements.txt 安装
uv add -r requirements.txt
# 移除依赖
uv remove requests
# 同步 pyproject.toml 到环境(常用)
uv sync
2.4 依赖锁定与导出
# 生成 uv.lock(精确版本锁定)
uv lock
# 导出为 requirements.txt(兼容旧工具)
uv export -o requirements.txt
2.5 运行脚本 / 命令(带依赖)
# 运行当前环境脚本
uv run main.py
# 临时带依赖运行(无需安装到环境)
uv run --with rich script.py
# 运行任意命令(如 pytest)
uv run pytest
2.6 缓存管理(提速关键) bash # 查看缓存路径
# 查看缓存路径
uv cache dir
# 清理缓存(释放空间)
uv cache clean
# 清理指定包缓存
uv cache clean requests
三、常用场景速查
3.1 替换 pip 日常操作
| 需求 | pip 命令 | uv 等价命令 |
|---|---|---|
| 安装包 | pip install x | uv add x |
| 卸载包 | pip uninstall x | uv remove x |
| 安装依赖文件 | pip install -r req.txt | uv add -r req.txt |
| 查看依赖树 | pip show --tree x | uv pip show --tree x |
3.2 项目迁移(pip → uv)
- 进入项目目录
uv init(生成 pyproject.toml)uv add -r requirements.txt(导入依赖)uv sync(创建环境并安装)
3.3 全局工具管理(替代 pipx)
# 安装全局工具(如 ruff)
uv tool install ruff
# 运行全局工具
uvx ruff check .
# 升级/卸载
uv tool upgrade ruff
uv tool uninstall ruff
四、关键特性(为什么选 uv)
- 极速:Rust 底层,并行下载 + 缓存,大型项目秒级安装。
- 一体化:包管理 + 虚拟环境 + 工具管理,无需 pip+venv+pipx。
- 兼容:完全兼容 pyproject.toml、requirements.txt、venv。
- 可靠:严格依赖锁定(uv.lock),彻底解决 “依赖地狱”。
五、常见问题
5.1 与 pip 混用
uv 安装的包对 pip 可见,可互相操作;但建议统一用 uv避免冲突。
5.2 虚拟环境位置
默认在项目下 .venv;可通过 UV_VENV 环境变量自定义路径。
5.3 网络慢 / 安装失败
# 使用国内镜像(如清华)
uv add requests --index-url https://pypi.tuna.tsinghua.edu.cn/simple
六、官方资源
更多推荐
所有评论(0)