告别漫长的 pip install:用 uv 在 10 分钟内管好 Python 依赖

举报
yd_262275629 发表于 2026/10/24 10:47:55 2026/10/24
【摘要】 还在用 pip 漫长等待依赖安装吗?本文介绍 Astral 团队推出的 Python 包管理工具 uv:Rust 编写、速度提升 10 到 100 倍,统一管理虚拟环境、依赖锁定与 Python 版本,附常用命令速查与老项目迁移三步走。

做 Python 开发这些年,相信很多人都经历过这样的时刻:新建一个项目,先 python -m venv .venv,再 source .venv/bin/activate,然后 pip install -r requirements.txt,眼看着终端一行行滚动,十几分钟过去了,依赖还没装完。换台机器、换个 Python 版本,又要重来一遍。

有没有更快、更省心的办法?有。Astral 团队推出的 uv,正在改变 Python 的包管理体验。它用 Rust 编写,安装依赖的速度比 pip 快 10 到 100 倍,还把虚拟环境、依赖锁定、Python 版本管理揉进了一套统一的命令里。

一、安装:一行命令的事

uv 的安装非常轻量,不需要预先装好 Python。Linux / macOS 一条命令:

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

Windows 用户用 PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

装完运行 uv --version,看到版本号就说明成功了。

二、初始化项目:告别手动建 venv

进入项目目录,一条命令完成初始化:

uv init my-project
cd my-project

uv 会自动生成 pyproject.toml、README 和示例代码。更贴心的是,它会自动下载并固定合适的 Python 版本,统一存放在自己的目录里管理——不同项目用不同 Python 版本,再也不用折腾 pyenv 了。

三、添加依赖:快得不像话

以前 pip install requests 可能要等半天,现在:

uv add requests

uv 会并行解析、并行下载,几秒钟完成。同时它会自动更新 pyproject.toml,并生成 uv.lock 锁定文件,记录每个依赖的精确版本和哈希值。团队协作时,别人拿到 uv.lock 就能复刻出完全一致的环境,告别“在我机器上明明是好的”。

删除依赖也很直观:uv remove requests。

四、运行代码:不用手动激活环境

用 uv 管理的项目,运行脚本不需要先激活虚拟环境:

uv run main.py
uv run pytest

uv run 会自动使用项目关联的虚拟环境;如果依赖还没装,它还会先按锁定文件同步好再运行,一条命令全搞定。

五、常用命令速查

需求 命令
初始化项目 uv init
添加依赖 uv add <包名>
同步环境 uv sync
运行脚本 uv run <脚本>
查看已安装包 uv pip list
固定 Python 版本 uv python pin 3.12

uv sync 特别值得一提:CI 流水线里 checkout 代码后,一条 uv sync 就能按 uv.lock 还原环境,又快又稳。

六、老项目迁移三步走

已有项目想迁移?很简单:

  1. 在现有目录执行 uv init --bare 生成配置(或手写 pyproject.toml);
  2. uv add -r requirements.txt 把旧依赖一次性导入;
  3. 跑一遍测试,确认无误后删掉旧的 venv。

整个过程不影响原来的代码,风险很低。

结语

工具的价值,在于把重复劳动压缩到最少。uv 把“建环境、装依赖、锁版本、跑代码”串成一条顺滑的流水线,省下的时间,足够多喝两杯咖啡,或者早点下班。不妨在下一个新项目里试试它——你可能会和我一样,再也回不去 pip 了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。