“你可能还在pip install
,隔壁已经跑完测试上线了。”
—— 一个用上uv
的开发者
什么是 uv?
它是个比 pip / poetry 快 100 倍的 Python 包管理器,还是 Rust 写的,能不快?如果你嫌 pip 慢,poetry 重,pipenv 老,那你可能正需要一个又快又干净的替代品:uv。
🧠 为什么选择 uv?
我们来点直白的对比:
操作 | pip + venv | poetry | uv |
---|---|---|---|
创建虚拟环境 | 慢 | 慢 | 🏎️ 极速 |
安装依赖 | 啥时候能装完? | 哎呀还在跑? | ⚡️ 咻——就好了 |
命令行体验 | 各种命令混搭 | 统一还行 | ✅ 清爽原生 pip |
使用成本 | 低 | 中 | 低(但新) |
🛠️ 安装 uv
你需要一台电脑,一条命令,以及 10 秒钟的等待:
curl -Ls https://astral.sh/uv/install.sh | sh
或者你偏爱 Homebrew(macOS 用户):
brew install astral-sh/tap/uv
装完后你就拥有了一个拥有超能力的 pip 替代品。
🧪 快速上手 uv
你已经习惯了 pip?放心,uv 的命令几乎一样,直接替换掉即可。
创建虚拟环境
uv venv
它会在当前目录创建一个 .venv
文件夹。完美兼容 python -m venv
。
激活环境:
# macOS / Linux
source .venv/bin/activate
# Windows(你知道的)
.venv\Scripts\activate
安装依赖(咻的一下)
uv pip install requests
会自动走缓存,比 pip 多个涡轮加速器,支持 requirements.txt:
uv pip install -r requirements.txt
你甚至可以把 uv pip
当成 drop-in 替代:
alias pip="uv pip"
从此告别 pip install
漫长等待。
生成 requirements.txt?
虽然 uv 没有官方的 freeze
命令,但你可以照常操作:
uv pip freeze > requirements.txt
和 pip 完全兼容,不会让你懵圈。
更新依赖
uv pip install --upgrade somepackage
一样的语法,不一样的速度体验。
🧹 清理缓存
uv 会将下载的 wheel 缓存在本地,速度飞快,但你可能想定期清理下:
uv cache clean
或者查看缓存路径:
uv cache dir
🎁 Bonus:兼容 poetry!
你有项目用 poetry
管理?
uv venv
uv pip install -r requirements.txt
甚至可以配合 poetry export
使用:
poetry export -f requirements.txt --without-hashes > requirements.txt
uv pip install -r requirements.txt
让 poetry
当个锁定工具,安装交给 uv
这位“闪电侠”。
❓ 小贴士(FAQ)
Q: uv 能完全替代 pip 吗?
是的!uv pip 是 drop-in 替代品,你可以用所有 pip 的命令,甚至更快。Q: uv 支持 pyproject.toml 吗?
暂不完整支持。但可以和 poetry 配合使用(先导出 requirements.txt)。Q: uv 稳定吗?
非常稳定,虽然还在快速迭代中。但已经可用于日常开发。📦 总结
uv 是那种一用就回不去的工具:
✅ pip 的速度不够快?用 uv。
✅ 想要 poetry 的干净,但不要它的慢?用 uv。
✅ 喜欢新鲜事物,但又讨厌配置地狱?还是 uv。
🐍 Python 太优雅,不该被安装依赖拖慢节奏。用 uv,让开发像飙车一样爽!
🔗 相关链接
Caleb https://reinness.com/posts/267 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自小陈博客 !