Python新星uv解析:如何重塑十年生态系统开发效率
来自英国的天文学家和科学传播者Emily L. Hunt博士在自己的博客上发表了一篇文章,盛赞"uv是近十年来Python生态系统中最令人振奋的革新"。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
uv,这个我们确实该好好认识一下了。
这款用Rust编写的Python包和项目管理工具近日在Hacker News上再度引发广泛关注。原因很简单,Emily L. Hunt博士在文章中由衷赞叹:"uv是Python生态近十年来发生的最美好的事情"。
虽然文章篇幅不长,但被分享到Hacker News后却引发了热烈讨论,收获了上千点赞。当然,许多讨论的焦点都集中在了Rust语言上。


不过在深入阅读这篇博客之前,我们先简单了解一下uv这个项目本身。
简单来说,uv是一个面向Python生态系统的高速"一体化"工具,可用于包管理、环境管理、项目初始化、工具执行、Python版本管理等。其由Astral公司开发,底层使用Rust语言实现,以追求极致性能。对于已有的工作流、pip、virtualenv、pipx、poetry等工具,uv提供了极强的兼容性,在某些场景下速度可提升10到100倍。

截至目前,该项目在GitHub上已经收获了超过7.1万星标!

接下来,我们就来看看为什么说"uv是近十年来Python生态系统发生的最好的事情"。

都2025年了。难道安装Python、管理虚拟环境、在同事间同步依赖,还非得那么费劲吗?
嗯...真的不用!
最近,一款名为uv的杰出新工具横空出世。它彻底革新了Python的安装和使用方式,让一切都变得无比简单。
uv是一款免费的开源工具。它由Astral打造,这家小型创业公司过去几年一直在持续产出优秀的Python工具,比如大名鼎鼎的linter——Ruff。uv能做到:
为你安装任意Python版本安装软件包管理虚拟环境极速解决依赖冲突
最棒的是,在我看来,uv在上述所有方面都比其他任何工具做得更好。
它的速度快得惊人。它由Rust语言编写,并且几乎兼容所有操作系统或平台。
安装 uv
uv的安装非常简单。有几种方法,但我认为最简单的是这个单行命令。
对于Linux和Mac用户:
curl -LsSf https://astral.sh/uv/install.sh | sh
或者,Windows用户在PowerShell中使用:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
之后,你就可以通过uv命令来使用它了。
安装uv不会搞乱你现有的任何Python环境。它是一个完全独立的工具,所以你可以放心地安装并试用。
管理项目的Python
无论开发什么Python项目,使用虚拟环境都是一个好习惯。
虚拟环境能将不同项目的代码和依赖相互隔离开。以我的经验来看,尽早养成这个习惯能省去未来很多麻烦。
uv天生就会使用虚拟环境。因此,一旦你开始用uv,上手虚拟环境也会变得非常容易。
uv会根据当前目录下pyproject.toml文件的配置来构建Python环境。
pyproject.toml文件是指定Python项目依赖的标准、现代格式。一个最精简的pyproject.toml文件可能如下所示:
[project]name = "my_project"version = "1.0.0"requires-python = ">=3.9,<3.13"dependencies = [ "astropy>=5.0.0", "pandas>=1.0.0,<2.0",]
简而言之,它只需要指定使用哪个Python版本和一些依赖项。当然,加上项目名称和版本号也是个好主意。
一旦你初始化了项目,或者项目里已经有了pyproject.toml文件,使用uv就变得非常简单。
你只需要在pyproject.toml文件所在的目录中运行:
uv sync

这个命令会为你执行以下操作:自动安装一个有效的Python版本,在目录下的.venv文件夹中安装所有依赖,创建一个新的虚拟环境,在你的目录中创建一个uv.lock文件,该文件会保存每个已安装包的确切、平台无关的版本。这意味着你的同事可以完全复刻你的Python环境。
用 uv 创建新项目
要用uv启动一个新的Python项目,你可以运行:
uv init
这个命令会为你创建一个新项目,包含pyproject.toml、README.md和其他重要的模板文件。
这个命令还有很多变种,比如uv init --bare和uv init --package等等。我建议你运行uv init --help来查看所有选项。
当你有了 pyproject.toml 文件
一旦你初始化了项目,或者项目里已经有了pyproject.toml文件,使用uv就变得非常简单。
你只需要在pyproject.toml文件所在的目录中运行:
uv sync
这个命令会为你执行以下操作:自动安装一个有效的Python版本,在目录下的.venv文件夹中安装所有依赖,创建一个新的虚拟环境,在你的目录中创建一个uv.lock文件,该文件会保存每个已安装包的确切、平台无关的版本。这意味着你的同事可以完全复刻你的Python环境。
uvx:跳过以上步骤,立即运行工具!
但有些时候,你可能只想快速运行一个工具。
比如,临时用Ruff检查下代码,或者在没有环境时启动一个Jupyter notebook服务器,甚至只是想快速启动一个装了pandas的IPython会话来打开某个文件。
uv tool命令让这一切变得异常简单。
运行像下面这样的命令:
uvx ruff
uv会自动下载你需要的工具,并在一个一次性虚拟环境中运行它。一旦这个工具被下载过,uv就会利用缓存,下次再运行就会快如闪电。
我有很多场合会用到这个功能。一个常见的场景是,快速启动一个安装了pandas的IPython会话,这样我就可以快速打开并查看一个parquet文件。例如:
uvx --with pandas, pyarrow ipython
或者,也许只是想启动一个Jupyter Lab服务器,好让学生发来的Jupyter notebook能快速打开。
老实说,我丝毫不会因为需要使用工具而感到不便,因为uvx总能在我需要时提供一张"万能通行证"。
如果这还不能说服你
我是在去年第一次发现uv的。
当时,我正和其他可爱的开发者们一起构建The Astrosky Ecosystem。这是一个很棒的旨在为天文学家们构建开源在线社交媒体集成项目。
但我们有很多开发者,大家在不同的操作系统上异步工作。很快,管理Python安装就成了一个艰巨的任务。
对我们而言,uv是一个极其强大的简化工具。我们现在终于能使用完全一致的Python安装环境了。这一点尤其重要,因为我们用的一些实验性依赖,每个版本都有破坏性改动。
在GitHub Actions中,我们计划使用uv来快速构建Python环境并运行单元测试。
在生产环境中,uv已经管理着我们所有服务器的Python版本。
能够确信所有机器上的Python和软件包安装总能得到一致且正确的处理,这种感觉真是太棒了。
这就是为什么我说,uv是近十年来Python生态系统发生的最好的事情。

你已经用上uv了吗?对此有什么看法?
相关攻略
4月5日消息,据“上海交通大学”公众号消息,日前,米哈游联合创始人、总裁、董事长、上海交通大学2005级信息工程专业本科、2009级通信与信息系统专业硕士校友刘伟,代表米哈游创始团队蔡浩宇、罗宇皓,
据彭博社近日报道称,尽管2026年Alphabet、亚马逊、Meta和微软等科技巨头都要投入超过6,500亿美元扩展人工智能(AI),但关键电气元件可用性成为主要障碍,近50%将因电力基础设施短缺和
4月6日消息,最近两年AI发展速度越来越快,AI取代大量工作导致人类失业的说法甚嚣尘上,然而事实可能不是这样。著名风投机构创始人a16z联合创始人Marc Andreessen也是AI圈的大佬,他日
4月6日消息,今日,红果短剧发布《关于持续治理AI短剧素材违规使用行为的公告》(以下简称《公告》)。《公告》显示,今年一季度,平台已累计下架违反平台治理规范的漫剧1718部。其中,针对近期AI短剧素
4月4日消息,发布仅1天的阿里千问新模型Qwen3 6-Plus,冲上全球知名大模型API调用平台OpenRouter的日榜榜首,成为当下最受企业和开发者热捧的大模型。OpenRouter最新数据显
热门专题
热门推荐
加密货币行业翘首以盼的监管里程碑,终于有了实质性进展。美国证券交易委员会(SEC)主席保罗·阿特金斯(Paul Atkins)近日证实,那份允许加密项目在早期获得注册豁免权的“安全港”框架提案,已经正式送抵白宫,进入了最终审查阶段。 在范德堡大学与区块链协会联合举办的数字资产峰会上,阿特金斯透露了这
微策略Strategy报告:第一季录得144 6亿美元浮亏 再斥资约3 3亿美元买进4871枚比特币 市场震荡的威力有多大?看看Strategy的最新季报就明白了。根据其最新向美国证管会(SEC)提交的8-K报告,受市场剧烈波动影响,这家公司所持的比特币在第一季度录得了一笔惊人的数字——144 6亿
稳定币巨头Tether的动向,向来是加密世界的风向标。这不,它向Web3基础设施的版图扩张,又迈出了关键一步。公司执行长Paolo Ardoino在社交平台X上透露,其工程团队正在全力“烹制”一个新项目——去中心化搜索引擎 “Hypersearch”。这个消息一出,立刻引发了行业的广泛猜想。 采用D
基地位于Coinbase旗下以太坊Layer2网络Base的Seamless Protocol,日前正式宣告了服务的终结。这个曾经吸引了超过20万用户的原生DeFi借贷协议,在运营不到三年后,终究没能跑赢时间。它主打的核心产品是Integrated Leverage Markets(ILMs)——一
PAAL代币揭秘:深度解析Web3社区治理的核心钥匙 在去中心化自治组织的浪潮中,谁真正掌握了项目的话语权?PAAL代币提供了一套系统化的答案。它不仅是生态内流转的价值媒介,更是开启链上治理大门的核心凭证。通过持有并质押PAAL代币,用户能够对协议升级、资金分配乃至战略方向等关键事务投出决定性的一票





