【发布时间】:2012-05-07 08:17:34
【问题描述】:
在 python 测试框架中,我们通过 Tkinter 与用于 spirent 测试中心的 tcl API 进行交互。这个 spirent testcenter API 只有 32 位,这意味着我们的 tcl 解释器需要是 32 位的。我们使用来自 python 的 Tkinter 来引导 tcl API。 (我知道最近测试中心发布了一个python驱动,但是这也是32位的。)因为Tkinter集成在python中,python安装也需要是32位的。
我想在 CentOS x86_64 工作站上运行这个框架。我已经成功地安装了 32 位的 testcenter 驱动程序、ActiveTcl 和 python,并且可以正常工作。然而,测试框架也依赖于许多 python 包(例如 numpy),这些包也需要构建为 32 位才能使用它们。但是,我无法弄清楚如何以 32 位构建这些包。我尝试将编译器选项 -m32 传递给 distutils 构建命令(即 python setup.py build),但这很高兴被忽略。似乎有一个 -p 选项可以通过平台,但这仅适用于 Windows。我还研究过使用仅 32 位的编译器,但 distutils 似乎有一个可用编译器的静态列表,而且我相信只有 intel 编译器(即商业......)只有 32 位。
是否有人对如何在 64 位 linux 架构上构建 32 位 python 模块,或者如何在 64 位中构建 python 本身有一个绝妙的想法,以便软件包安装很容易,但在 32 位中集成 tcl/tk ?
干杯。
维姆
【问题讨论】:
-
你需要一个 32 位的 python 才能加载 32 位模块(许多模块是共享库)。另外,编译和链接都需要
gcc-m32选项。 -
感谢您的回复。正如我提到的,我已经安装了 32 位版本的 tcl 和 python (2.7)。问题是如何在 x86_64 机器上为这个 32 位版本的 python 构建 32 位模块。
-
然后尝试始终使用
-m32并使用 32 位 python 调用 distutils。
标签: python linux x86-64 32-bit distutils