Flask 之父用 Rust 编写 Python 包管理工具:Rye
Python Web 框架 Flask 作者 Armin 近日发布了新的开源项目 Rye。这是一款采用 Rust 编写的 Python 包管理工具,Armin 称其可作为 poetry/pip/pipenv/pyenv/venv/virtualenv/pdm/hatch 等同类工具的替代方案。
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
上面是使用 Rye 的运行截图,完整演示:https://www.youtube.com/watch?v=CyI8TBuKPF0
虽然 Rye 还处于实验性阶段,并且是纯粹的个人导向项目,但凭借着 Armin 在 Python 社区的知名度以及其采用 Rust 编写这一大亮点,Rye 的 Star 数量短短两天就超过了 2000,并上榜 GitHub Trending 第一名。Armin 还嘚瑟地调侃道,目前比 LLM 和 AI 更火爆的技术就是 Python 打包!
Armin 谈论了创建 Rye 的初衷,用下面这张图表达了他对 Python 包管理现状的感受——由于缺乏统一的标准,因此诞生了满足不同需求和场景的许多不同工具。
而他希望的终端用户体验是:使用“单一工具”就能满足所有工程管理需求,包括 Python 项目、Python 解释器、全局安装的工具和 monorepos 等。这对任何类型的构建系统都是开放的,支持 Python 开发者每天遇到的问题。
虽然 Rye 是一个新项目,而且目前不够稳定,但也有不少开发者都对 Armin 的理念表示认同。欢迎各位体验后也来分享一波心得。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux 6.4 将删除 SELinux 运行时禁用功能
安全增强型 Linux(SELinux, Security Enhanced Linux)是一种采用安全架构的 Linux 系统,它能够让管理员更好地管控哪些人可以访问系统。它最初是作为 Linux 内核的一系列补丁,由美国国家安全局(NSA)利用 Linux 安全模块(LSM)开发而成。SELinux 于 2000 年发布到开源社区,并于 2003 年集成到上游 Linux 内核中。 SELinux 定义了每个人对系统上的应用、进程和文件的访问控制。利用安全策略(一组告知 SELinux 哪些能访问,哪些不能访问的规则)来强制执行策略所允许的访问。 此前,系统管理员可以通过编辑 /etc/selinux/config 设置 SELINUX=disabled 或写入 /sys/fs/selinux/disable 来关闭 SELinux 的功能。但这两种 SELinux 运行时禁用方法已经在之前的 Linux 内核版本被弃用了。 如今在被弃用数年后,从 Linux 6.4 内核开始,SELinux 运行时禁用将被彻底删除。 以后,要以简单且非侵入性的方式正确禁用 SELinux,管理员...
- 下一篇
GCC 13 中将不会引入对 Rust 的支持
第一个官方 GCC 13 版本即将发布,但 GCC 的 Rust 前端项目 gccrs 却不会如期出现在此版本中。 去年 12 月,Gccrs 被批准合并到 GCC 主线,所有 gccrs 代码也都被合并到了 GCC 13 上游代码库中。但时至今日,编译器仍未就支持 Rust 做好准备。开发人员 Philip Herron 和 Arthur Cohen 发文解释称: 我们的期望是,通过明确表示编译器仍未为真正的 Rust 代码做好准备;可以从早期用户那里得到有价值的反馈,以及来自两个不同社区(Rust 社区和 GCC 社区)的更多参与。我们计划在最后的发布期限之前尽可能的完成更多工作,但现在 GCC 13.1 版本已经来临,我们在完整性方面仍然没有达到目标。 这意味着当使用 gccrs 时,你仍然无法实现如“Hello World!”之类的“easy Rust things”,也不能使用常用的标准库。同样,对于 Rust 编程语言必不可少的更复杂的概念(如 borrow-checking)也尚未实现;如果没有这些功能, gccrs 将不会被认为是完整的。我们认为这会给不知情的用户带来很...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8