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 点版本上发生的错误报告等都变得快速和容易。


相關推薦

2022-05-19

字节码。目前 PEP 659 提案的工作基本完成,但 for 循环和二进制操作的动态优化仍有待完成。 在提速 25% 的同时,Python 3.11 仍有一些需要改善的地方,比如 Python 在 3.11 中的内存消耗与 3.10 中的基本相同。此外还需关注 C 扩展的

2023-10-27

CPython 核心开发者 Thomas Wouters 代表 Python 指导委员会宣布:正式接受 PEP 703 提案。 PEP 703(Making the Global Interpreter Lock Optional,让全局解释器锁成为可选),简称 no-GIL,也被称为自由线程 (free-threaded)。 根据提案的描述

2023-01-13

去年的2022 Python 语言峰会上,开发者 Sam Gross 带来了新提案:删除全局解释器锁 GIL,解放多线程性能。但由于 GIL 历史悠久,许多官方/非官方的 Python 包和模块都深度融合了 GIL 模块,彻底移除 GIL 功能可能会对生态造成影响

2023-06-28

。 一个简单且相对快速的依赖解析器,特别是对于大的二进制包发布。 兼容 PEP 517 的构建后端,用于构建发布包 (源码格式与 wheel 格式) 灵活且强大的插件系统 PEP 621 元数据格式 功能强大的用户脚本 像 pnpm&n

2022-05-18

据 Python 基金会博客介绍,开发者 Sam Gross 在 2022 Python 语言峰会上带来了一个新提案:完全移除 CPython 解释器的 GIL- 全局解释器锁,使 Python 程序获得更快的性能 —— 尤其是多线程程序。 Python 有多个版本,包括 JVM 、 .NET CLR

2023-07-11

Meta 正致力于推动 Python 项目采纳 PEP 703 提案,以改进 Python 代码的多线程性能。PEP 703 指的是 Making the Global Interpreter Lock Optional in CPython,让全局解释器锁在 CPython 中成为可选。 该提案建议向 CPython 添加构建配置 (--disable-gil),

2023-05-06

I 基础设施公司 Modular AI 最近发布的编程语言,它结合了 Python 的语法以及 C 语言的可移植性和性能,目标是使其成为 AI 研究和生产的理想选择。 根据介绍,Mojo 不仅兼容 Python,还比它快 35000 倍。详情查看:AI 开发有了新编程

2023-04-01

Python 指导委员会拒绝了 PEP 582 提案——Python local packages directory,即本地包目录。 此 PEP 提议向 Python 添加一种自动识别__pypackages__目录的机制,并优先导入安装在此位置的包,而不是用户或全局站点包。这将避免创建、激活或

2022-06-24

92) Ruby 将“支持 x64-mingw-ucrt 平台上的预构建 Ruby 二进制文件 ( #29684 )”向后移植到 1.47.x。( #29868 ) 升级 ruby​​ rake-compiler-dock images(并停止在 mac 上构建 ruby​​ gem 工件,以支持 rake-compile-dock darwin 构

2024-07-04

Miro Hrončok 提交了一份变更提案,建议在 Fedora 41 中退役 Python 2.7,并放弃仍然依赖 Python 2 的软件包。 Python 2 已于 2020 年 1 月 1 日退出生命周期,CentOS 7 也已退出生命周期,RHEL 8 的 Python 2.7 应用程序支持也将退出,红帽开发

2022-04-09

效地开发 OpenCL 应用程序和库。 此次更新后的 OpenCL SDK 以二进制的形式提供,以避免编译源码的繁琐过程,但目前官方二进制文件仅限于 Windows x86 和 Windows x64 。此外,新的 SDK 包含 OpenCL 指南入门,提供了有关使用 OpenCL 进行开

2022-09-10

况以缺少加载点或找不到指定文件进行替代。 更新的二进制包 适用于Windows-x86平台的已编译的可执行文件包 适用于Windows-x64平台的已编译的可执行文件包 不兼容的更新 无 Demo展示 通过海龟库,交互式绘图

2022-11-07

Python 3.12.0 首个 alpha 版本已发布,这是 Python 3.12 的早期开发者预览版。 目前 Python 3.12 处于开发阶段,3.12.0a1 是计划中的七个 alpha 版本中的第一个,许多新特性仍在计划和编写之中。下面简单介绍与 3.11 相比,3.12 系列的主

2022-11-17

Python 3.12.0 第二个 alpha 版本已发布,这是 Python 3.12 的早期开发者预览版。 目前 Python 3.12 处于开发阶段,3.12.0a2 是计划中的七个 alpha 版本中的第二个,许多新特性仍在计划和编写之中。下面简单介绍与 3.11 相比,3.12 系列的