remove: title index
This commit is contained in:
parent
be95ef52bb
commit
1a29501ff4
@ -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 版本项目
|
||||
|
Loading…
x
Reference in New Issue
Block a user