python - 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

标签 python cross-platform packaging python-c-extension

我注意到几个成熟的 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/

相关文章:

python - Pymysql UPDATE with %s 引发未知错误

python - 无法更改 node-gyp 使用的默认 python 版本?

c - 如何确定我的系统上 malloc() 结果的最小对齐?

java - 在 Jar 中打包和使用嵌入式数据库(H2.db 文件)?

python - pySerial write() 在 Python 解释器中运行良好,但在 Python 脚本中运行不正常

git - 是否可以在 git 中链接目录?

css - 无法在 moSync 中应用 css

python - 如何将 "checkinstall"与使用 "setuptools"的 Python 包一起使用

clojure - 运行Clojure程序

python - 在 Python 中检查 .h5 文件