常用 UV 命令
安装
pip install uv
版本相关
uv python list
打印所有uv支持的python版本uv python install cpython-3.12
安装指定的python版本uv run -p 3.12 test.py
用指定的python版本运行python代码uv run -p 3.12 python
进入python执行环境。假如输入的版本是一个本地不存在的,则uv会先下载,再进入该python环境
虚拟环境
uv init
在当前目录初始化一个pyhton项目,注意:不会把虚拟环境创建出来uv init -p 3.13
初始化一个基于python 3.13的项目uv init testfile
初始化一个python项目,且文件目录为testfile- 进入项目执行
uv venv
在当前项目创建一个虚拟环境 source .venv/bin/activate
激活当前虚拟环境deactivate
关闭当前虚拟环境uv add pydantic_ai
把pydantic_ai这个库安装到当前工程中uv run main.py
假设当前项目有一个main.py,该命令是运行main.pyuv tree
打印整个工程的依赖树uv add ruff --dev
ruff是一个检查python格式的库,该命令用于安装ruff且以dev模式,避免打包的时候打进去uv remove ruff --dev
从项目依赖中删除ruff库uv tool install ruff
把ruff安装到系统全局环境,而不是当前项目,类似于npm install -g
uv tool list
查看系统中当前都安装了哪些python 工具uv build
会把项目打包成一个.whl文件,然后这个文件发布后就可以让所有人使用了。打包前需要做点事情,在pyproject.toml中,指定脚本的名称和需要执行的文件:函数
[project.scripts]
testrun = "main.main"
当打包完并安装好后,就可以直接执行testrun了,具体执行的是main.py文件中的main函数
uv sync
类似如npm install,按照当前项目pyproject.toml文件中的依赖配置安装依赖,并生成uv.lock文件,如果有uv.lock了,就严格按照uv.lock里的版本下载
uvx什么作用?
核心功能
- 自动拉取与执行:
当执行uvx twine
时,会从 PyPI 自动下载最新版twine
包,并创建一个临时虚拟环境运行它。
# 实际执行逻辑等效于:
uv pip install --temp twine && python -m twine [command]
- 零残留运行:
任务完成后自动清理临时环境,不会在本地留下安装痕迹(除非显式指定持久化)。