使用 uv 管理 Python 依赖
💡
原文中文,约3100字,阅读约需8分钟。
📝
内容提要
我最近将 Django 项目从 pip 切换到 uv,发现 uv 更快且简化了依赖管理,支持多版本 Python 和虚拟环境,确保环境可复现,安装依赖和初始化项目也很方便,适合 Python 开发者。
🎯
关键要点
- Django 项目从 pip 切换到 uv,发现 uv 更快且简化了依赖管理。
- uv 是一个使用 Rust 开发的 Python 包和项目管理器,支持创建虚拟环境。
- 在相同环境下,使用 uv 安装依赖比 pip 快很多。
- uv 内置了 Python 多版本安装和虚拟环境管理,确保环境可复现。
- 在 macOS 或 Linux 上可以通过 curl 命令安装 uv,Windows 上使用 PowerShell 命令。
- 初始化项目后,uv 会生成 pyproject.toml 文件,包含项目基本信息和依赖项。
- 使用 uv 可以轻松安装多个 Python 版本和创建虚拟环境。
- 虚拟环境中的依赖包会保存在 .venv 文件夹中,类似 Node.js 的 node_modules。
- uv 提供了简单的命令来安装依赖和管理项目,确保依赖版本一致。
- 在 Docker 中使用 uv 时,可以指定国内镜像以加快下载速度。
- Python 发布已有三十余年,pip 是官方的依赖管理工具,但存在一些不足。
- uv 是一种新的依赖管理工具,适合开发和维护 Python 项目。
❓
延伸问答
uv 和 pip 有什么区别?
uv 比 pip 更快,简化了依赖管理,并支持多版本 Python 和虚拟环境管理。
如何在 macOS 上安装 uv?
可以使用命令:curl -LsSf https://astral.sh/uv/install.sh | sh 来安装 uv。
uv 如何管理虚拟环境?
uv 可以通过命令 uv venv --python 3.12.0 创建虚拟环境,依赖会保存在 .venv 文件夹中。
如何将现有项目迁移到 uv?
可以在项目根目录执行 uv init 或 uv pip install -r requirements.txt 来迁移项目。
在 Docker 中使用 uv 有什么注意事项?
需要指定国内镜像以加快下载速度,并可以选择将依赖安装到虚拟环境或系统环境中。
uv 如何确保依赖版本一致?
uv 通过生成 uv.lock 文件来锁定依赖项,确保下次安装时版本一致。
➡️