☰
【自用】uv 管理 Python 环境命令指南
2026/10/3 7:38:43 网站建设 项目流程

uv 是 Astral 出品的超快 Python 包/项目管理工具(Rust 编写),可替代 pip、pip-tools、virtualenv、pyenv、poetry 等。下面按使用场景整理常用命令。


一、安装 uv

# macOS / Linuxcurl-LsSfhttps://astral.sh/uv/install.sh|sh# Windows (PowerShell)powershell-ExecutionPolicyByPass-c"irm https://astral.sh/uv/install.ps1 | iex"# 或通过 pip 安装pipinstalluv# 验证安装uv--version

二、管理 Python 版本(替代 pyenv)

uv pythoninstall3.12# 安装指定 Python 版本uv python list# 查看已安装/可下载的版本uv pythonfind3.12# 查找某版本的路径uv python uninstall3.11# 卸载

uv 会按需自动下载 Python,无需手动安装。


三、创建虚拟环境(替代 virtualenv)

uv venv# 创建 .venv(用默认 Python)uv venv--python3.12# 指定 Python 版本uv venv myenv# 自定义目录名

激活(uv 本身不需要激活,激活只是为了兼容老习惯):

source.venv/bin/activate# macOS/Linux.venv\Scripts\activate# Windows

四、项目管理(推荐工作流,替代 poetry/pdm)

初始化项目

uv init myproject# 新建项目目录cdmyproject uv init# 在已有目录中初始化uv init--lib# 库项目(会生成 src 布局)

生成文件:pyproject.toml、README.md、main.py,以及锁定版本的uv.lock。

添加 / 移除依赖

uvaddrequests# 添加运行时依赖uvadd'pytest>=8'# 带版本约束uvadd--devruff# 开发依赖(写入 dev group)uvadd--groupdocs mkdocs# 自定义依赖组uv remove requests# 移除依赖uvaddrequests--upgrade# 升级某个包uv lock--upgrade# 升级全部锁定

安装与同步环境

uvsync# 按 uv.lock 完整同步 .venvuvsync--frozen# CI 中严格按锁文件,不重新解析uvsync--no-dev# 只装运行时依赖(生产环境)

运行命令

uv run python main.py# 自动使用项目环境运行uv run pytest# 运行依赖的工具,无需手动安装uv run --no-sync python x.py# 跳过同步直接运行uv run--withrich python x.py# 临时附加依赖运行

其他项目命令

uv lock# 生成/更新 uv.lockuv tree# 查看依赖树uv build# 构建 sdist/wheeluv publish# 发布到 PyPIuvexport--formatrequirements-txt>requirements.txt# 导出旧格式

五、pip 兼容模式(低侵入式使用)

如果已有requirements.txt的项目,可直接用:

uv pipinstall-rrequirements.txt uv pipinstallrequests uv pip list uv pip freeze uv pip uninstall requests uv pip compile requirements.in-orequirements.txt# 替代 pip-tools

> 注意:uv pip需要在虚拟环境中运行(或加--system)。


六、工具运行(替代 pipx)

uvx ruff check# 临时运行 ruff(等价 uv tool run)uv toolinstallruff# 永久安装某工具到独立环境uv tool list# 查看已安装工具uv tool upgrade ruff# 升级工具uv tool uninstall ruff

七、常用全局选项

选项说明
-p 3.12/--python 3.12指定 Python 版本
--directory <path>在指定项目目录执行
--system操作系统级 Python(谨慎使用)
UV_INDEX_URL换源,如国内镜像https://mirrors.aliyun.com/pypi/simple/

换源示例(写入~/.config/uv/uv.toml):

[[index]] url = "https://mirrors.aliyun.com/pypi/simple/" default = true

八、日常速查流程

# 开始一个新项目uv init myapp&&cdmyapp uvaddfastapi uvicorn# 开发uv run uvicorn main:app--reload# 加开发依赖uvadd--devpytest uv run pytest# 团队协作gitaddpyproject.toml uv.lock# 队友拉代码后:uvsync# CI 中uvsync--frozen&&uv run pytest

核心记忆点:

  • uv add装依赖、uv sync同步环境、uv run跑命令 —— 这三条覆盖 90% 的项目日常;
  • uv pip系列兼容旧习惯,uvx/uv tool管理命令行工具;
  • 所有操作都极快(比 pip 快 10–100 倍),且 uv 会自动管理 Python 版本和虚拟环境。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询