我注意到几个成熟的 Python 库有针对大多数架构(Win32/Win-amd64/MacOS)和 Python 版本的预编译版本。针对不同环境交叉编译扩展的标准方法是什么? Wine ?虚拟机?众包?
最佳答案
我们使用虚拟机和 Hudson服务器。
我们为我们支持的每个架构都有一个虚拟机(通常编译不会扩展分配给它们的资源,所以虚拟机很好)。我想每个 VM 的配置都可以由 Puppet 或 Chef 之类的东西来管理,以确保它是一个合适的构建环境。如果您拥有硬件,您当然可以使用真实的机器,但您要避免使用人们实际使用的机器(例如开发人员工作站)。
然后我们使用 Hudson 中的多配置项目来设置构建矩阵。构建矩阵允许我们(只需单击一下)在多个体系结构上构建多个 python 版本,但理论上您可以构建您可以在矩阵中设置的每个和任何组合。当然你可以改用 Jenkins。
关于python - 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8721918/