根据我的研究,您肯定会走上正确的道路……正如Daniel所说,您唯一的选择是自己构建和分发二进制文件。
通常,包装用户指南中介绍了推荐的安装软件包的方法。我不会在这里重复建议,因为您显然已经找到了建议。但是,关键是Python社区,特别是PyPA,正试图标准化使用平台轮来打包二进制扩展。可悲的是,此时存在一些问题:
- 您不能为所有Linux变体创建发行版,但可以为兼容子集构建轮子。有关详细信息,请参见https://www.python.org/dev/peps/pep-0513/。
- 关于构建扩展的建议有些不完整,反映出缺乏针对二进制发行版的完整解决方案。
- 人们随后尝试构建自己的库并将其作为数据文件分发,这会使setuptools感到困惑。
我认为您正在解决最后一个问题。一种解决方法是通过重写is_pure()始终返回False来强制Distribution搭建平台轮。但是,您可以只保留原始的构建说明,而bdist_wheel应该处理它。
但是,一旦构建好轮子,您仍然需要分发它以及可能使用或使用它的其他二进制程序包。在这一点上,您可能需要使用推荐的工具之一(例如conda)或PyPI代理(例如devpi)来完成任务。
编辑:回答有关交叉编译的额外问题
如此处所述, Python 2.6和更高版本允许Windows
32/64位版本的交叉编译。在其他平台上没有对其他软件包的正式支持,人们尝试这样做的成功有限。实际上,最好在每个Linux / Mac / Windows环境上进行本机构建。



