Python - UV 为每个项目创建独立、干净的Python工作空间

Anaconda、miniconda 慎用, 有商业授权风险,可以选择 UV: https://docs.astral.sh/uv/ GitHub:https://github.com/astral-sh/uv

中文站:https://uv.doczh.com/

https://www.bilibili.com/video/BV13WGHz8EEz

.venv VSCode、Pycharm 都能识别这个命名

核心亮点

🚀 一个工具替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等

⚡️ 比 pip 快 10-100 倍

🗂️ 提供全面的项目管理功能,包含通用锁文件

❇️ 运行脚本,支持内联依赖元数据

🐍 安装和管理 Python 版本

🛠️ 运行和安装 以 Python 包形式发布的工具

🔩 包含 pip 兼容接口,在熟悉 CLI 的同时获得性能提升

🏢 支持 Cargo 风格的工作区用于可扩展项目

💾 磁盘空间高效,通过全局缓存实现依赖去重

⏬ 无需 Rust 或 Python 即可通过 curl 或 pip 安装

🖥️ 支持 macOS、Linux 和 Windows

uv 由 Astral 提供支持,他们是 Ruff 的创造者。

Windows 安装 UV

https://github.com/astral-sh/uv/releases

下载地址:https://github.com/astral-sh/uv/releases/download/0.9.18/uv-x86_64-pc-windows-msvc.zip

下载解压:将目录添加至环境变更 【这样的方式,PowerShell 会无法识别 uv】

bash 复制代码
uv --version
# 输出示例:uv 0.7.11

uv --help
# 查看可用命令

安装 Python

设置环境变更,否则会很慢

UV_PYTHON_INSTALL_MIRROR
https://registry.npmmirror.com/-/binary/python-build-standalone/

UV_INDEX_URL
https://pypi.tuna.tsinghua.edu.cn/simple

安装

uv python install 3.12

安装最新版本的 Python:
uv python install

安装特定版本的 Python:
uv python install 3.12

安装多个 Python 版本:
uv python install 3.11 3.12

重新安装 Python
uv python install --reinstall

这将重新安装所有之前安装的 Python 版本。Python 发行版不断有改进,因此即使 Python 版本未改变,重新安装也可能解决一些问题。

要查看可用和已安装的 Python 版本:
uv python list
uv python install 3.12

使用

如果你的脚本没有依赖项,可以使用 uv run 来执行它:
uv run example.py

依赖

创建工程

uv init -p 3.12

会生成4个文件

uv add numpy==1.19.0

uv tree 查看包的依赖关系

命令

命令 说明
uv run 运行命令或脚本
uv init 创建新项目
uv add 向项目添加依赖项
uv remove 从项目中移除依赖
uv sync 更新项目的环境
uv lock 更新项目的锁文件
uv export 将项目的锁文件导出为另一种格式
uv tree 显示项目的依赖树
uv tool 运行并安装由 Python 包提供的命令
uv python 管理 Python 版本和安装
uv pip 通过与 pip 兼容的接口管理 Python 包
uv venv 创建虚拟环境
uv build 将 Python 包构建为源代码分发包和 wheel 包
uv publish 将分发包上传到索引
uv cache 管理 uv 的缓存
uv self 管理 uv 可执行文件
uv version 显示 uv 的版本
uv help 显示某个命令的文档