深夜提醒

现在是深夜,建议您注意休息,不要熬夜哦~

🏮 🏮 🏮

新年快乐

祝君万事如意心想事成!

2024 桐庐半程马拉松
00:00:00
时间
0.00
距离(公里)
--:--
配速
--
步频
--
心率 (bpm)
--
配速
步频
|
share-image
ESC

Python pip 和 uv 的区别以及如何正确使用

在 Python 开发中,包管理一直是一个绕不开的话题。长期以来,pip 都是官方推荐的标准工具,但随着项目规模的扩大,pip 在速度和依赖解析上的瓶颈逐渐显现。

最近,一个名为 uv 的新工具横空出世(有时被误称为 ux),以其惊人的速度震撼了 Python 社区。本文将带你详细了解 pip 的优化配置(清华源)以及这个新一代挑战者 uv 的强大之处。

1. 传统霸主:pip 及其优化

pip 是 Python Packaging Authority (PyPA) 推荐的包安装程序。虽然它功能稳定,但在国内网络环境下,下载速度往往慢得让人抓狂。

🚀 必修课:配置清华源镜像

为了提升 pip 的下载速度,将源切换到国内镜像站是最佳实践。这里推荐使用清华大学开源软件镜像站

临时使用

如果你只是想临时快速下载某个包,可以在安装时加上 -i 参数:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

永久配置(推荐)

为了一劳永逸,我们可以将清华源设置为默认源。

命令行配置(适用于所有操作系统):
需要你的 pip 版本 >= 10.0.0。

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

执行后,配置会自动写入你的配置文件中:

  • Linux/macOS: ~/.config/pip/pip.conf
  • Windows: %APPDATA%\pip\pip.ini

2. 极速新星:uv (The “UX” Game Changer)

也许你在某些地方听说了 “Python ux manager”,实际上它指的是 uv

uv 是一个由 Astral 团队(也就是超快 Linter 工具 Ruff 的开发者)用 Rust 编写的 Python 包管理器。它的核心卖点非常简单粗暴:快,极致的快。

⚡ pip vs uv:核心区别

特性 pip uv
底层语言 Python Rust
安装速度 较慢,单线程逻辑为主 极快,充分利用并发和缓存,比 pip 快 10-100 倍
依赖解析 有时会陷入回溯死循环 全局缓存,解析算法极其高效
虚拟环境 需配合 venv / virtualenv 内置 uv venv,毫秒级创建环境
Python版本 仅管理包 可自动下载和管理 Python 版本

🔥 如何使用 uv

安装 uv

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

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

# 也可以通过 pip 安装
pip install uv

常用命令对比

1. 创建虚拟环境

  • pip: python -m venv .venv
  • uv: uv venv (速度快到甚至不需要进度条)

2. 安装依赖

  • pip: pip install requests
  • uv: uv pip install requests
    • 注意:uv 为了兼容性,保留了 uv pip 接口,让你无缝迁移。
    • 如果你使用项目管理模式,可以使用 uv add requests(类似 Poetry/npm)。

3. 同步依赖

  • pip: pip install -r requirements.txt
  • uv: uv pip sync requirements.txt

为什么你应该尝试 uv?

  1. 节省时间:在 CI/CD 流水线中,uv 可以将安装依赖的时间从几分钟缩短到几秒钟。
  2. 磁盘空间优化:uv 使用全局内容寻址存储,不同项目使用相同版本的包时,只会存储一份副本。
  3. 兼容性好:它被设计为可以直接替代 pippip-tools,你不需要重写所有的构建脚本。

总结

  • 如果你追求极致的效率,或者受够了 pip 在大型项目中缓慢的解析速度,请立刻尝试 uv
  • 如果你暂时不想改变工作流,至少请配置好 pip 清华源,这是保证 Python 开发体验的底线。

:uv 还在快速迭代中,建议关注其 GitHub 仓库 获取最新动态。

文章作者:阿文
文章链接: https://www.awen.me/post/99595eef.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2023-03-27 14:00 发布,已超过半年(1083天),请注意甄别内容是否已过期。

评论

0 条评论
😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️
您的评论由 AI 智能审核,一般1分钟内会展示,若不展示请确认你的评论是否符合社区和法律规范
加载中...

选择联系方式

留言反馈

😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️