Python 新提案 PyBI:分发 Python 二进制文件的标准格式
CPython 核心开发者 Nathaniel J. Smith 提交了一项新提案:
- PEP 711 —— PyBI: a standard format for distributing Python Binaries
根据该提案的描述,PyBI (Python Binary) 是用于分发 Python 二进制文件的标准格式。Nathaniel 对 PyBI 的概括如下:它不是预构建的 Python 软件包,而是预构建的 Python 解释器。
此提案定义了一个标准的打包文件格式来保存预构建的 Python 解释器,并尽可能重用现有的 Python 打包标准。
命名格式:{distribution}-{version}[-{build tag}]-{platform tag}.pybi
示例:
cpython-3.9.3-manylinux_2014.pybi
cpython-3.10b2-win_amd64.pybi
详情查看原始草案:https://github.com/njsmith/posy/blob/main/pybi/README.md
PyBI 构建工具:https://github.com/njsmith/pybi-tools
pybi 构建示例:https://pybi.vorpus.org/
Nathaniel 还介绍道,他希望 PyBI 能像 Pypi.org 一样——为所有流行平台上的所有 Python 版本预构建软件包,以便自动化工具可以轻松获取其中任何一个并进行设置。让尝试 Python 预发布、在 CI 中修复 Python 版本、创建一个临时环境来重现仅在特定 Python 点版本上发生的错误报告等都变得快速和容易。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python 3.12 将能够使用不共享 GIL 的解释器
自 Python 1.5(1997 年)以来,PyInterpreterState 结构就被添加到了 CPython,允许开发者在一个进程中同时运行多个 Python 解释器。然而,多个解释器在同一进程中运行时,并不能真正地相互隔离。同一进程中的解释器始终共享大量全局状态。这是很多错误的来源,随着越来越多的人使用该功能,其影响也越来越大。 造成这个情况的主要原因就是由于 GIL(全局解释器锁),这是 CPython 的一个核心特性,而为了解决这个问题就有开发者曾提出过删除全局解释器锁 GIL 的提议。除此之外,另一个显而易见的方法则是建立每一个解释器的 GIL:为进程中产生的每一个解释器建立一个单独的锁。 因此在去年 3 月,开发者 Eric Snow 就提出了一个针对每个解释器的全局解释器锁(A Per-Interpreter GIL),通过充分的隔离有助于实现真正的多核并行,其中的解释器不再共享 GIL。 Eric Snow 在提议中表示: 有了每个解释器的 GIL,CPython 将能够为在不同解释器中运行的代码实现真正的多核并行性。 经过一年多时间的讨论,日前 CPython ...
- 下一篇
Rust 基金会就更新的商标政策征求反馈意见
Rust 基金会宣布正在为注册商标 Rust 和 Cargo 的使用制定新的商标政策。该组织于 2022 年 8 月启动了这一法律程序,共收到了近1000 份回复。之后,基金会还邀请了一些感兴趣的人加入他们的商标政策工作组,该工作组由 Rust 项目负责人、基金会工作人员和法律顾问组成,以制定适合 Rust 社区需求的更新政策。 Rust 商标政策的一个核心目的是帮助确保当你遇到通过标记列出与 Rust 编程语言有关联的产品、项目或资源时,可以更好地确保其真实性以及与 Rust 基金会/Rust 项目的关联。“我们希望在 Rust 社区中灌输对该政策的信心,并使你能够将其用作有用的资源 ——它并不是要恐吓或在不适当的地方强加一种巨大的限制感。” 草案内容指出,Rust 基金会的商标政策是为了保护 Rust 项目和 Rust 社区的工作,并确保 Rust 语言不会因为不实陈述或政策侵权而被贬值、稀释或合用。Rust基金会不希望参与小规模的治安管理或无意义的诉讼。但是,如果基金会认为 Rust 商标被滥用或者恶意使用,他们将坚决采取捍卫措施。 常见用例的快速商标政策参考: 销售商品 —— ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19