一招让Docker速度快10倍pip换成uv后Docker快10倍弃用pip后,

量子位看科技 2025-06-25 17:20:37

一招让Docker速度快10倍pip换成uv后Docker快10倍

弃用pip后,Docker的构建速度直接提升10倍?!

准确说不是弃用,而是将pip换成了uv。uv是一个用Rust开发的Python包管理器,和pip相比,它有几个显著优势:

1. 构建速度更快 :Nick在多个项目中测试后发现,使用uv安装依赖的速度几乎是pip的10倍。

2. 无需虚拟环境 :uv允许你直接在非root用户下安装依赖,而不是依赖venv隔离环境,这对容器化部署尤其友好。

3. 自动生成锁文件 :只需在`pyproject.toml`里写下最顶层依赖,uv会自动生成`uv.lock`,而且能保持依赖树的完整性,比pip freeze更可控。

博主Nick Janetakis演示了切换步骤:

- 删除原来的`requirements.txt`,改用`pyproject.toml`声明依赖;

- Dockerfile中通过COPY指令引入uv的二进制文件,并替换依赖安装脚本;

- 设置相关环境变量,避免在容器中生成虚拟环境,同时预编译字节码;

- 替换安装命令,用`uv sync --frozen --no-install-project`保持锁定版本;

- 可用脚本快捷运行`uv add/remove`、检查依赖更新等操作。

博主Nick的Flask和Django两个项目,都已经完成了从pip到uv的切换,并成功跑起来,切换过程非常顺滑。

感兴趣的小伙伴可以点击原文:

0 阅读:1
量子位看科技

量子位看科技

感谢大家的关注