Python UV丨教程

Python UV丨教程

Conqueror712 Lv1

🤗本站

📦Github

💠稀土掘金

📚知乎

简单来说,可以将 uv 理解为 cargo

零、进行 uv 的安装

我们从安装 Python 开始:

  1. 进入官网:https://www.python.org/,点击 Download 后选择合适的版本下载即可,不多说
  2. 设置 Python 的环境变量,这里安装的时候一般都会有勾选的选项,如果没有的话手动搜索一下如何添加,然后添加上即可
  3. 进入命令行,输入 pip install uv,安装成功
  4. 确保 uv 的路径已经被添加进了环境变量中(至于路径,你可以使用 pip show uv 来找到)

一、用 uv 创建项目

有了 uv 之后,如何使用呢:

  1. 在命令行中,进入目标路径,即新项目的根目录
  2. 输入 uv init my_project_name,就可以生成包括 .gitignore, README.md 等初始化文件,避免了繁琐的手动创建(其中,一并被创建出来的 .python-version 和 pyproject.toml 是 uv 用来管理虚拟环境的关键)

一切正常的话,你可以看到命令行输出:Initialized project xxx at xxx 的信息

同时还有以下文件:

1
2
3
4
5
6
.git
.gitignore
.python-version
main.py
pyproject.toml
README.md

二、用 uv 管理环境

说明:

  • 无需手动激活环境,直接 uv adduv run 即可,因为这里环境和项目是一体的
  • 使用 pyproject.toml 来管理项目依赖,很自然(比如想要运行别人的项目时,只需要拿到其 pyproject.toml 文件,然后 uv sync 一下即可,避免各种环境乱掉,懂的都懂)

比如说我要安装 pandas,则只需要 uv add pandas 即可

三、用 uv 管理命令行工具

在 Python 中,像是 pytest, ruff 都是所谓的命令行工具(直接能在命令行中使用)

这种工具其实没有必要每个项目都搞一个,故可以全局安装

只需这样:uv tool install pytest

当然,也可以像 npx 一样,临时运行一个命令,既不安装到项目环境,也不安装到全局环境

则只需要这样:uvx pytest

或者单独运行一个 .py 文件:uv init --script main.py,然后往代码中最前面生成的元信息里填入所需依赖,随后再次使用 uv run 运行,即可创建临时虚拟环境并运行,并不会生成 .venv 文件

附、常用 uv 命令

4.1 安装

  • pip install uv

4.2 版本

  • uv python list 打印所有 uv 支持的 Python 版本
  • uv python install cpython-3.12 安装指定的 Python 版本
  • uv run -p 3.12 test.py 用指定的 Python 版本运行 Python 代码

4.3 虚拟环境

  • uv init my_project_name 初始化一个 Python 项目
  • uv init -p 3.13 初始化一个基于 Python 3.13 的项目
  • 进入项目执行 uv venv 在当前项目创建一个虚拟环境
  • source .venv/bin/activate 激活当前虚拟环境(Linux or Mac)
  • deactivate 关闭当前虚拟环境
  • uv add package_name 安装某库到当前项目中
  • uv run main.py 运行 main.py
  • uv tree 打印项目依赖树
  • uv remove package_name 从项目依赖中删除库
  • uv tool install ruff 把 ruff 安装到系统全局环境,而不是当前项目
  • uv tool list 查看系统中当前都安装了哪些 Python 工具
  • uv build 会把项目打包成一个 .whl 文件,然后这个文件发布后就可以让所有人使用了。打包前需要做点事情,在 pyproject.toml 中,指定脚本的名称和需要执行的文件:函数
  • uv sync 按照当前项目 pyproject.toml 文件中的依赖配置安装依赖,并生成 uv.lock 文件,如果有 uv.lock 了,就严格按照 uv.lock 里的版本下载
  • 标题: Python UV丨教程
  • 作者: Conqueror712
  • 创建于 : 2025-07-25 15:00:00
  • 更新于 : 2025-07-25 15:35:39
  • 链接: https://redefine.ohevan.com//post/UV.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论