在64位linux上编译32位python模块(例如numpy)

时间:2012-05-07 08:17:35

标签: python linux x86-64 32-bit distutils

在python testframework中,我们通过Tkinter与spirent testcenter的tcl API连接。这个spirent testcenter API仅提供32位,这意味着我们的tcl解释器需要32位。我们使用python中的Tkinter来引导tcl API。 (我知道最近为testcenter发布了一个python驱动程序,但这也只是32位。)因为Tkinter集成在python中,所以python安装也需要32位。

我想在CentOS x86_64工作站上运行此框架。我已经设法安装了32位的testcenter驱动程序,ActiveTcl和python,这很有效。但是,testframework还依赖于许多python包(例如numpy),它们也需要以32位构建才能使用它们。我无法弄清楚如何用32位构建这些软件包。我已经尝试将编译器选项-m32传递给distutils构建命令(即python setup.py构建),但这很高兴被忽略。似乎有一个-p选项来传递平台,但这只适用于Windows。我还研究过使用32位编译器,但是distutils似乎有一个静态的可用编译器列表,只有intel编译器(即商业...)才是32位我相信。

有没有人对如何在64位Linux体系结构上构建32位python模块有一个好主意,或者如何在64位中构建python本身,以便软件包安装简单,但在32位中集成tcl / tk ?

干杯。

维姆

1 个答案:

答案 0 :(得分:2)

要按照您尝试的方式构建模块,您需要在尝试编译模块之前设置CFLAGS = -m32和LDFLAGS = -m32。

例如:

CFLAGS=-m32 LDFLAGS=-m32 python setup.py install