remove: title index

This commit is contained in:
TaurusXin 2025-06-06 01:50:23 +08:00
parent be95ef52bb
commit 1a29501ff4

View File

@ -7,7 +7,7 @@ slug: "python-uv"
date: "2025-06-06T00:55:00+0800"
---
## 1. 前言与介绍
## 前言与介绍
Python 有一个生态明星公司 Astral Software在这之前或许很多人已经用过了 ruff 这款 linter在 GitHub 斩获 15k+ 星的 uv 横空出世三个月,技术圈已涌现上百篇测评。在这之前,我用过诸如 conda 或 poetry 等包管理器,最后还是回归到了 Python 自带的 venv但在我使用 uv 一个月后,彻底抛弃了 venv。
@ -24,15 +24,15 @@ uv 整体吸收了 Rust Cargo 的先进包管理经验,使得开发人员可
---
## 2. 重新定义 Python 工作流
## 重新定义 Python 工作流
### 2.1 性能碾压背后的技术革命
### 性能碾压背后的技术革命
- **Cargo式依赖解析**:基于 Rust 实现的 PubGrub 算法,比 pip 快 8-10 倍的依赖解析速度
- **跨平台缓存机制**:首次安装后依赖包全局缓存复用,实测 conda 环境重建速度提升 6 倍
- **统一工具链**:用 `uv pip` 替代pip`uv venv` 管理虚拟环境,`uv run` 执行脚本
### 2.2 多维度工具对比矩阵
### 多维度工具对比矩阵
| 特性 | pip | Poetry | Conda | uv |
|--------------------|-------|--------|-------|---------|
@ -44,9 +44,9 @@ uv 整体吸收了 Rust Cargo 的先进包管理经验,使得开发人员可
---
## 3. 安装、卸载与换源
## 安装、卸载与换源
### 3.1 一行命令安装
### 一行命令安装
uv 的安装非常简单,一行命令即可完成
@ -58,7 +58,7 @@ curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### 3.2 卸载
### 卸载
很多文章没有介绍如何卸载,其实非常简单,因为 uv 已经打包成为一个独立的二进制文件,只需移除删除缓存和 uv 本身即可
@ -76,7 +76,7 @@ Remove-Item -Recurse -Force -Path $(uv python dir)
Remove-Item -Recurse -Force -Path $(uv tool dir)
```
### 3.3 更换 PyPI 源
### 更换 PyPI 源
如果不做任何配置uv 默认会使用 PyPI 官方源,如果你需要使用国内源,可以使用下面几种办法来更换源(默认都以清华源为例)。
@ -98,9 +98,9 @@ default = true
---
## 4. 项目实战
## 项目实战
### 4.1 Python 版本管理
### Python 版本管理
默认情况下uv 会使用系统中内置的 Python 版本作为项目的 Python 解释器,如果你需要使用特定的 Python 版本,可以使用 `uv python` 命令来管理 Python 的版本,下面是 uv 提供的一系列命令
@ -113,7 +113,7 @@ default = true
| `uv python pin` | 将当前项目固定使用特定的 Python 版本 |
| `uv python uninstall` | 卸载某个 Python 版本 |
### 4.2 从零到生产:快速依赖管理
### 从零到生产:快速依赖管理
如果你主力管理依赖还是用的 pip那么只需要在 pip 前面加上 uv 就可以了,`uv pip` 是一个兼容命令
@ -203,7 +203,7 @@ if __name__ == '__main__':
uv run main.py
```
### 4.3 构建发行版及发布
### 构建发行版及发布
使用以下命令构建您的包
@ -238,7 +238,7 @@ uv publish
| `uv publish` | 将项目发布到包索引(如 PyPI |
## 5. 何时该拥抱uv
## 何时该拥抱 uv
**推荐场景**
- 需要同时维护多个 Python 版本项目