我注意到很多成熟的Python库都有为大多数架构(Win32/Win-amd64/MacOS)和Python版本预编译的版本。那么跨不同环境编译扩展的标准方法是什么?使用Wine?虚拟机?众包?
我注意到很多成熟的Python库都有为大多数架构(Win32/Win-amd64/MacOS)和Python版本预编译的版本。那么跨不同环境编译扩展的标准方法是什么?使用Wine?虚拟机?众包?
SWIG提供了一种多平台代码生成的路径。
我所有的Python扩展模块都是用C++编写的,而不是C,所以我使用boost Python。当我需要支持不同的操作系统时,我还会使用虚拟机。Boost的bjam构建驱动程序允许您使用不同版本的Python(2.6、2.7)、不同版本的g++和其他各种东西进行构建。如果我有一个非常受欢迎且许多人想在我没有的平台上使用的扩展模块,那么我只需确保我的代码非常可移植(无论如何都应该如此),并提供使用bjam构建它的说明,为不同的Python版本提供几个不同的示例等。这就足够让他们开始了。如果这样行得通,您可以要求他们贡献他们的构建结果,以便其他人也可以使用(当然,这些构建结果不由您提供支持)。