一个用 Rust 编写的、速度极快的 Python 包和项目管理器。
支持 macOS、Linux、Windows。
1 2 3 4 5 6 7 8 9 # Homebrewbrew install uv# macOS & Linuxcurl -LsSf https://astral.sh/uv/install.sh | sh# wget -qO- https://astral.sh/uv/install.sh | sh# Windowspowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
启用 uv 命令的 shell 自动补全功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # bashecho 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc# zshecho 'eval "$(uv generate-shell-completion zsh)"' >> ~/.zshrc# fishecho 'uv generate-shell-completion fish | source' > ~/.config/fish/completions/uv.fish# PowerShellif (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force}Add-Content -Path $PROFILE -Value '(& uv generate-shell-completion powershell) | Out-String | Invoke-Expression'
然后重启 shell 或加载 shell 配置文件。
国内镜像源:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 全局指定uv config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 安装依赖时指定uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple# uv 多源配置(pyproject.toml)[[tool.uv.index]]url = "https://mirrors.ustc.edu.cn/pypi/simple"default = true[[tool.uv.index]]url = "https://mirrors.aliyun.com/pypi/simple"[[tool.uv.index]]url = "https://pypi.tuna.tsinghua.edu.cn/simple"
安装和管理 Python。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 # ==安装 Python==## 安装最新版本uv python install## 安装特定版本uv python install 3.12## 重新安装(重新安装所有)uv python install --reinstall# ==查看 Python==## 查看可用和已安装uv python list# 仅显示已安装的uv python list --only-installed# ==查找 Python==## 查找已安装的 Python 版本uv python find## 查找大于 3.11 Python 版本uv python find '>=3.11'## 仅查找系统 Python 解释器uv python find --system# ==升级 Python==# 升级到最新受支持的补丁版本uv python upgrade 3.12# 升级所有uv python upgrade# ==锁定到特定的 Python 版本==# 当前项目锁定为使用特定的 Python 版本(.python-version)uv python pin# 在用户配置目录中创建全局文件uv python pin --global# ==卸载 Python==# 卸载 Python 版本uv python uninstall 3.12# 卸载所有uv python uninstall --all
创建和开发 Python 项目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 # 初始化项目## 最新 Python 版本初始化uv init## 指定 Python 版本初始化uv init --python 3.12# ==管理依赖==## 添加生产依赖uv add requests## 添加开发依赖uv add --dev pytest## 从requirements.txt文件迁移uv add -r requirements.txt -c constraints.txt## 移除依赖uv remove requests## 同步依赖uv sync## 依赖项锁定文件uv lock## 升级软件包uv lock --upgrade-package requests# ==项目命令==## 在项目环境中运行命令uv run# #查看项目的依赖关系树uv tree## 将项目构建到分发存档中uv build## 将项目发布到软件包索引uv publish
1 2 3 4 5 6 7 8 9 10 .├── .venv│ ├── bin│ ├── lib│ └── pyvenv.cfg├── .python-version├── README.md├── main.py├── pyproject.toml└── uv.lock
pyproject.toml:项目的元数据.python-version:项目的 Python 版本.venv:项目的虚拟环境(隔离)uv.lock:跨平台的锁定文件,项目依赖项(已安装的依赖版本)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 # ==创建虚拟环境==## 默认uv venv [.venv]## 指定版本uv venv --python 3.12# ==激活环境==## macOS/Linuxsource .venv/bin/activate## Windows.venv\Scripts\activate## 退出虚拟环境deactivate# ==替换pip==## 将软件包安装到当前环境中uv pip install## 显示已安装软件包的详细信息uv pip show## 列出已安装的软件包及其版本uv pip freeze## 检查当前环境中是否安装了兼容的软件包uv pip check## 列出已安装的软件包uv pip list## 卸载软件包uv pip uninstall## 查看环境的依赖关系树uv pip tree
执行 Python 脚本。
1 2 3 4 5 6 7 8 # 运行脚本uv run main.py# 向脚本添加依赖项uv add --script main.py requests# 移除脚本中的依赖项uv remove --script main.py
运行和安装发布到 Python 包索引的工具,例如ruff或black。
1 2 3 4 5 6 7 8 9 10 # 在临时环境中运行工具uvx/ uv tool run# 安装一个用户级工具uv tool install# 卸载工具uv tool uninstall# 列出已安装的工具uv tool list# 更新 shell 以包含工具可执行文件uv tool update-shell
uv 的状态,例如缓存、存储目录或执行自我更新:
1 2 3 4 5 6 7 8 9 10 11 12 # 删除缓存条目uv cache clean# 删除过期的缓存条目uv cache prune# 显示 UV 缓存目录路径uv cache dir# 显示 UV 工具目录路径uv tool dir# 显示已安装的 Python 版本路径uv python dir# 将 uv 更新到最新版本uv self update
如果需要从系统中卸载 uv,请按照以下步骤操作:
1 2 3 uv cache cleanrm -r "$(uv python dir)"rm -r "$(uv tool dir)"
1 2 3 4 5 6 7 8 9 10 # Homebrewbrew uninstall uv# macOS and Linuxrm ~/.local/bin/uv ~/.local/bin/uvx# Windowsrm $HOME\.local\bin\uv.exerm $HOME\.local\bin\uvx.exerm $HOME\.local\bin\uvw.exe
| virtualenv | ||||
| pipenv | ||||
| miniconda | ||||
| uv |