Python 开发中的包管理与测试工具
1. manylinux 相关内容
1.1 可上传 Python 轮子的平台标签
可上传的 Python 轮子必须带有合适的平台标签,该标签显示它们与哪些版本的 GNU C 库兼容。历史上,这些标签依赖于 CentOS 发行年份:
| 平台标签 | 对应 CentOS 版本 |
| ---- | ---- |
| manylinux1 | CentOS 5 |
| manylinux2010 | CentOS 6 |
| manylinux2014 | CentOS 7 |
在撰写本文时,manylinux_2_24 和 manylinux_2_27 是 CentOS 7 之后仅有的版本,分别对应 Debian 9 和 Ubuntu 18.04。确定最旧支持的平台标签后,在支持该标签的最新系统上进行构建。例如,如果没有部署目标使用 GNU C 库 < 2.24,则在 Debian 9 上构建轮子。对于具有复杂构建依赖项的二进制轮子,较新的系统更容易遵循文档并减少遇到意外问题的机会。
1.2 manylinux 容器
确保 patchelf 工具正确安装且 Python 使用正确版本的 C 库构建是一个微妙且容易出错的过程。避免此问题的一种方法是使用官方的 manylinux 容器镜像。这些容器镜像可在 quay/pypa/manylinux_ 找到,有 manylinux_2_24、manylinux2014、manylinux2010 和 manylinux1 等版本。这些镜像包含所有官方支持的 Python 版本和其他必要工具。 </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



