Flask 之父用 Rust 编写 Python 包管理工具:Rye

697次阅读
没有评论

Python Web 框架 Flask 作者 Armin 近日发布了新的开源项目 Rye。这是一款采用 Rust 编写的 Python 包管理工具,Armin 称其可作为 poetry/pip/pipenv/pyenv/venv/virtualenv/pdm/hatch 等同类工具的替代方案。

Flask 之父用 Rust 编写 Python 包管理工具:Rye

Armin 表示 Rye 是给自己打造的“一站式”工具,满足了他对 Python 的所有需求,包括安装和管理 Python 软件包、管理 pyproject.toml 文件、安装和卸载依赖项、在后台管理 virtualenvs,以及支持 monorepos 和全局工具安装。

下面是 Rye 的部分功能:

  • 自动安装和管理 Python

$ rye pin 3.11
$ rye run python
Python 3.11.1 (main, Jan 16 2023, 16:02:03) [Clang 15.0.7 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

  • 全局安装隔离工具

$ rye install maturin

  • 管理本地pyproject.toml的依赖项并自动更新 virtualenv

$ rye add flask
$ rye sync

 

Flask 之父用 Rust 编写 Python 包管理工具:Rye

上面是使用 Rye 的运行截图,完整演示:https://www.youtube.com/watch?v=CyI8TBuKPF0

虽然 Rye 还处于实验性阶段,并且是纯粹的个人导向项目,但凭借着 Armin 在 Python 社区的知名度以及其采用 Rust 编写这一大亮点,Rye 的 Star 数量短短两天就超过了 2000,并上榜 GitHub Trending 第一名。Armin 还嘚瑟地调侃道,目前比 LLM 和 AI 更火爆的技术就是 Python 打包!

Flask 之父用 Rust 编写 Python 包管理工具:Rye

Armin 谈论了创建 Rye 的初衷,用下面这张图表达了他对 Python 包管理现状的感受——由于缺乏统一的标准,因此诞生了满足不同需求和场景的许多不同工具。

Flask 之父用 Rust 编写 Python 包管理工具:Rye

而他希望的终端用户体验是:使用“单一工具”就能满足所有工程管理需求,包括 Python 项目、Python 解释器、全局安装的工具和 monorepos 等。这对任何类型的构建系统都是开放的,支持 Python 开发者每天遇到的问题。

虽然 Rye 是一个新项目,而且目前不够稳定,但也有不少开发者都对 Armin 的理念表示认同。欢迎各位体验后也来分享一波心得。

项目地址:https://github.com/mitsuhiko/rye

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy