python uv包管理工具
2025年11月19日大约 2 分钟约 573 字
安装uv
uv文档:点击访问
# 安装uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 配置pypi包的国内源
[System.Environment]::SetEnvironmentVariable('UV_DEFAULT_INDEX', 'https://mirrors.aliyun.com/pypi/simple', 'User')
# 配置python版本包为南京大学源
[System.Environment]::SetEnvironmentVariable('UV_PYTHON_INSTALL_MIRROR', 'https://mirror.nju.edu.cn/github-release/astral-sh/python-build-standalone/', 'User')安装uv时需要github的网络访问畅通
uv环境管理
uv sync # 为uv项目配置好环境(已有uv工程)
uv init # 为项目初始化一个uv工程(没有uv工程)
uv init demo-project # 直接创建一个uv工程项目
uv venv # 创建虚拟环境
uv venv -p 3.14 # 创建虚拟环境,指定python版本
source .venv/bin/activate # 激活环境
uv venv --clear # 删除项目中的虚拟环境
uv pip install django # 运行pip命令(pip的命令都可以使用)
uv run main.py # 在虚拟环境中执行文件或命令(无需手动激活环境)
# 安装python
uv python install # 安装最新python
uv python install 3.13 --verbose # 安装指定版本python
uv python install --reintall # 重装python
uv python upgrade # 升级所有python补丁版本
uv python listuv包管理
uv add django # 给当前项目添加django包,并安装到虚拟环境
uv add pytest --dev # 添加并安装开发时的依赖包
uv remove django # 为项目删除包
uv tree # 查看包依赖关系
# 将requirements.txt内容添加到项目依赖
uv add -r requirements.txt
uv export --no-hashes --no-managed-python --verbose > requirements.txt # 将uv.look的包导出
# 查看可升级的包
pipx install pip-check
pip-check -c "uv pip" -Huv全局工具
uv tool install ruff # 安装ruff工具到全局系统(它会给每个工具一个虚拟环境,并且整个系统都能用)
uv tool install --python 3.10 ruff
uv tool uninstall ruff # 卸载工具
uv tool list # 列出所有已安装的工具
uv tool upgrade --all # 升级所有工具uv其他命令
# 给文件单独声明依赖关系的元数据,使用uv run运行该脚本时会自动解析依赖关系
uv add --script example.py 'requests<3' 'rich'
# 清除uv缓存
uv cache cleanpyproject.toml文件示例
[project]
name = "demo-django"
license = "GPL-3.0-or-later"
version = "1.8.1"
description = "demo django框架项目"
readme = "README.md"
requires-python = "==3.12.*"
dependencies = [
"beautifulsoup4",
"django", # django框架
"django-redis",
"django-tinymce",
"mysqlclient==2.2.4",
"psycopg[binary]",
"oss2",
]
[[tool.uv.index]]
url = "https://mirrors.aliyun.com/pypi/simple"
default = true