当前位置:首页>python>淼的开发笔记|16.uv极速管理Python环境

淼的开发笔记|16.uv极速管理Python环境

  • 2026-09-10 12:02:11
淼的开发笔记|16.uv极速管理Python环境

点击蓝字

关注我们

前言

上期我们搞定了 WSL 的基础配置,有了一个干净好用的 Linux 终端。接下来就要开始干活了!搞 Python 开发,最头疼的就是环境管理:virtualenv 速度慢,conda 体积庞大,pyenv 编译 Python 动辄卡死……

今天给大家介绍一款能让你“爽到飞起”的现代化 Python 包管理器——uv。本期我们将通过简介、安装、常用语法和实战案例,带你彻底掌握如何在 WSL 下用 uv 轻松管理不同项目的 Python 环境。

uv 简介:为什么是它?

uv 是由开发著名 Python Linter 工具 Ruff 的团队 Astral 使用 Rust 语言编写的一款极速 Python 包管理器。

它的核心优势:

  • 极速:比传统的 pip 和 pip-tools 快 10-100 倍,得益于 Rust 和硬链接/缓存机制,安装依赖几乎瞬间完成。

  • 全能:它集成了 Python 版本管理(类似 pyenv)、虚拟环境管理(类似 venv)和包管理(类似 pip/poetry),一个工具搞定一切。

  • 兼容:支持标准的 pyproject.toml,并且兼容 pip 的语法,迁移成本极低。

在 WSL 中开发 Python 项目时,常见的问题有:

uv vs conda vs poetry vs pip

🧠 在 WSL 中安装 uv

在 WSL 终端中,只需一行命令即可完成安装:

curl -LsSf https://astral.sh/uv/install.sh | sh

uv管理Python版本

例如:

查看可安装版本:

uv python list

安装指定版本Python

uv python install 3.10

镜像源配置

创建配置目录、文件并编辑全局配置文件

mkdir -p ~/.config/uv && nano ~/.config/uv/uv.toml

粘贴以下配置内容【alt + Shift + V】

# 全局默认索引(PyPI 镜像)[[index]]name = "default"url = "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"default = true# 额外索引:阿里云(备用)[[index]]name = "aliyun"url = "https://mirrors.aliyun.com/pypi/simple"

然后 Ctrl + O 保存,Enter确认,Ctrl + X退出

uv核心概念速览

在深入实战之前,先理解 uv 的几个核心概念:

项目实战

1. 初始化项目

mkdir my-project && cd my-projectuv init
  1. 指定特定版本的 Python

uv python pin 3.11
  1. 安装配置深度学习环境

uv add numpy pandas scipy matplotlib torch torchvision torchaudio

安装完成后,你可以运行 uv run python -c "import torch; print(torch.cuda.is_available())"。如果返回 True,说明基于 CUDA 12 的深度学习环境已经打通。

相同的道理,可以安装地学类的包。

  1. 执行Python文件

注意到,下面的 python main.py报错了,这是在调用 Ubuntu 系统全局的 Python。但因为 Ubuntu 刚装好,系统里甚至连 python 这个软链接都没配(系统里可能只有 python3),更不用说里面有你刚安的库了。

方法1:

使用 uv run python main.py 成功了,因为 uv run 会自动把运行环境切换到你项目的 .venv 内部。以后在终端里运行任何脚本,都在前面加上 uv run。

uv run python main.py

方法2:

如果你觉得每次都敲 uv run 太麻烦,想直接用 python main.py,你需要先“进入”这个虚拟环境:

source .venv/bin/activate

激活后,你的终端提示符前面会多一个 (.venv) 的标记。这时候你再输入 python main.py 就能正常运行了。想退出时,输入 deactivate 即可。

接手一个已有项目

如果项目已经包含 pyproject.toml 和 uv.lock:

# 1. 克隆项目git clone git@github.com:xxx/project.gitcd project# 2. 同步安装所有依赖(自动创建 .venv)uv sync# 3. 运行测试uv run pytest

如果项目只有 requirements.txt,也可以一键转换:

# 从 requirements.txt 生成 pyproject.toml 和 uv.lockuv pip freeze > requirements.txt  # 已有的话跳过uv inituv add $(cat requirements.txt)

结语

用过 uv 之后,真的很难再回到传统的 pip + venv 时代了。它在 WSL 下的丝滑体验,加上 Rust 带来的极致速度,极大提升了 Python 开发者的幸福感。而且它生成的 pyproject.toml 和 uv.lock 也非常适合团队协作和代码仓库管理。

后面,我们将介绍如何使用 VScode 连接 WSL 进行本地端的开发。

点个喜欢吧

最新文章

随机文章