当前位置:首页>python>每天10分钟玩转Python基础篇 - uv 的基本使用

每天10分钟玩转Python基础篇 - uv 的基本使用

  • 2026-09-02 15:55:26
每天10分钟玩转Python基础篇 - uv 的基本使用
PYTHON · 基础篇第3课2026.08

装依赖要 pip 加 venv 两套工具?

4条命令,管好

Python项目

uv init · uv add · uv run · uv sync

飞污熊Python教程

PYTHONUV

📦 3 Parts + Conclusion

👉 滑动

PART 01

通俗原理

uv 是什么

PART 02

完整代码

4 步实操

PART 03

踩坑总结

4 个常见坑

PART ///

写在最后

小结自检

这是基础篇第3篇,今天把项目管理工具 uv 用明白

记住4条命令,之后每篇代码都用这套流程跑

这是基础篇第3篇。前两篇我们装好了Python、写下了第一行代码,又学会了变量、判断和循环。今天做一件顺手的事:把项目管理工具 uv 用明白。

看完这篇,你能自己建一个 Python 项目,往里加第三方库,然后运行里面的代码。整个流程只要记住4条命令:uv init、uv add、uv run、uv sync。下面每一条我都实际敲过,你照着做,结果应该和我一样。

01

PART

前置知识

PREREQUISITES · 准备什么

电脑里装好了 uv

上一篇我们用 uv 装过 Python,说明它已经在你的电脑上了。

会打开终端

Windows 上叫 PowerShell,知道怎么执行命令就行。

会运行 .py 文件

不确定的话,先输入下面这行确认一下:

...powershell

uv --version

能看到类似uv 0.11.7的输出,就说明环境 OK。

02

PART

通俗原理

CONCEPTS · uv 是什么

先说 uv 是什么。官方一句话:一个用 Rust 写的 Python 包和项目管理器。听着绕,翻译过来就是:

包管理

帮你下载、安装、卸载 Python 的第三方库。

项目管理

帮你记录这个项目用了哪些库、什么版本,别人拿到项目一跑就能还原环境。

以前这两件事要装好几个工具:pip管包、virtualenv管环境、poetry管项目。uv 一个命令全包了,而且速度比 pip 快很多。

它的思路不复杂:用一个pyproject.toml文件记录项目信息,用一个uv.lock文件锁死所有依赖的精确版本。这样你的项目在任何电脑上都能还原出一模一样的环境。

— pyproject.toml 记配置,uv.lock 锁版本,环境就一致了

03

PART

完整代码

CODE · 4 步实操

STEP 01

建项目

打开终端,进到一个你准备放代码的目录,执行:

...powershell

uv init --python 3.14 hello-uv

cd hello-uv

uv init 会创建一个新文件夹 hello-uv,里面自动生成这些文件:

...tree

hello-uv/

├── .gitignore        # git忽略规则

├── .python-version   # 记录Python版本

├── pyproject.toml    # 项目配置文件(核心)

├── README.md

└── main.py           # 入口代码

打开 pyproject.toml,你会看到类似这样的内容:

...toml

[project]

name = "hello-uv"

version = "0.1.0"

requires-python = ">=3.14"

dependencies = []

现在依赖还是空的,下一步我们加一个。

STEP 02

添加依赖

执行:

...powershell

uv add requests

requests 是 Python 最常用的 HTTP 请求库。命令执行完,注意看两件事:

1

pyproject.toml 里多了一行 "requests>=2.34.2"

2

目录里多了 uv.lock 和 .venv 文件夹

.venv 是虚拟环境,装着这个项目专用的 Python 和依赖,和其他项目互不干扰。uv.lock 是把所有依赖的精确版本锁住的锁文件,以后不管谁运行 uv sync,都能装出一模一样的版本。

STEP 03

运行代码

把 main.py 改成这样(或新建一个 demo.py):

...python

import requests

resp = requests.get("https://httpbin.org/get")

print("状态码:", resp.status_code)

print("请求地址:", resp.json().get("url"))

然后运行:

...powershell

uv run python demo.py

你会看到类似这样的输出:

...output

状态码: 200

请求地址: https://httpbin.org/get

关键在 uv run:它会自动用项目里的 .venv 环境来跑,不需要你先手动激活环境。

STEP 04

查看和管理

想知道项目装了哪些依赖,用 uv tree:

...powershell

uv tree

输出是一棵依赖树,requests 下面还挂着它依赖的几个小库:

...tree

hello-uv v0.1.0

└── requests v2.34.2

  ├── certifi v2026.7.22

  ├── charset-normalizer v3.5.1

  ├── idna v3.19

  └── urllib3 v2.7.0

想移除依赖,用 uv remove:

...powershell

uv remove requests

想按锁文件重新装一遍环境(比如刚 clone 了别人的项目),用 uv sync:

...powershell

uv sync

04

PART

运行结果

RESULTS · 实测汇总

上面所有命令我都实际跑过,结果汇总:

命令
作用
实测输出要点
uv init --python 3.14 hello-uv
建项目
生成5个文件
uv add requests
加依赖
自动创建.venv,生成uv.lock
uv run python demo.py
跑代码
正常输出200
uv tree
看依赖树
requests下挂4个子依赖
uv remove requests
删依赖
pyproject.toml恢复空依赖
uv sync
同步环境
按锁文件还原

05

PART

踩坑总结

PITFALLS · 常见坑

!uv 不是命令 🕳

如果提示找不到 uv,说明安装那步没走完。Windows 上一般用 irm https://astral.sh/uv/install.ps1 | iex 安装。

!命令输出红色一片 🕳

PowerShell 会把 uv 的正常输出当成错误显示(因为它走 stderr),其实 Resolved、Installed 这些都是在正常工作,不用慌。

!import requests 报错 ModuleNotFoundError 🕳

多半是没在项目目录里跑,或者用了系统 Python 而不是 uv run。记住:项目里的代码一律用 uv run python 开头。

!公司网络首次解析慢 🕳

第一次 uv add 要联网下载依赖,可能等一会;解析过一次后走本地缓存,之后就很快了。

06

PART

进阶拓展

NEXT · 还能做什么

uv 能做的事远不止这些:它可以直接安装指定版本的 Python(uv python install 3.13)、可以运行工具类软件包、支持 workspace 管理多个子项目、还提供和 pip 兼容的接口。这些后面用到的时候再展开,现在先把4条命令练熟。

///

LAST

写在最后

SUMMARY · 小结自检

今天你学会了用 uv 管理 Python 项目:

uv init 建项目

自动生成 pyproject.toml

uv add 加依赖

自动建 .venv 并生成 uv.lock

uv run 跑代码

在项目环境里运行

uv tree / remove / sync

看依赖、删依赖、还原环境

自检清单

1

能说出 pyproject.toml 和 uv.lock 各是干什么的

2

能新建一个项目并跑通 uv run python demo.py

3

遇到 ModuleNotFoundError 知道先检查是不是没走 uv run

这套流程后面每篇都会用到,先练熟它。

我是飞污熊,热衷于分享Python编程和AI技术,大道至简。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING

最新文章

随机文章