3

在 python 测试框架中,我们通过 Tkinter 与 spirent 测试中心的 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 build),但这很高兴被忽略。似乎有一个 -p 选项可以通过平台,但这仅适用于 Windows。我还研究过使用仅限 32 位的编译器,但 distutils 似乎有一个可用编译器的静态列表,而且我相信只有英特尔编译器(即商业......)只有 32 位。

是否有人对如何在 64 位 Linux 架构上构建 32 位 python 模块,或者如何在 64 位中构建 python 本身以便软件包安装很容易,但在 32 位中集成 tcl/tk 有一个绝妙的主意?

干杯。

维姆

4

1 回答 1

2

To build modules the way you're trying to do, you need to set CFLAGS=-m32 and LDFLAGS=-m32 before attempting to compile the module.

For example:

CFLAGS=-m32 LDFLAGS=-m32 python setup.py install
于 2012-05-10T15:29:22.763 回答