我需要在 64 位 CentOS 中运行 32 位 Python。

背景

我有一个 PCI-GPIB 接口(interface)卡。它的驱动程序来自 National Instruments 。它在驱动程序页面中说:



使用 Python 中的驱动程序

我使用 PyVISA 包装器来使用驱动程序,如下所示:

import visa

但是,我收到以下错误:
OSError: /usr/local/vxipnp/linux/bin/libvisa.so.7: wrong ELF class: ELFCLASS32

问题

National Instruments 说他们的驱动程序支持 64 位内核。
但它只能在 32 位应用程序中使用。 。我的 Python 安装(我自己编译)是 64 位的。

如何在 64 位 CentOS 6 中编译 32 位 Python?

最佳答案

以下是我在 CentOS 6.10 上构建 32 位 Python 2.7.15 的方法:

安装所需的软件包:

sudo yum install libgcc.i686 glibc-devel.i686 glibc.i686 zlib-devel.i686\
readline-devel.i686 gdbm-devel.i686 openssl-devel.i686 ncurses-devel.i686\
tcl-devel.i686 db4-devel.i686 bzip2-devel.i686

构建 32 位 Python:
mkdir ${HOME}/{Archive,Build}
wget http://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz -O ${HOME}/Archive/Python-2.7.15.tgz
tar xzvf ~/Archive/Python-2.7.15.tgz -C ${HOME}/Build
cd ${HOME}/Build/Python-2.7.15
[sudo] mkdir -p /opt/Python-2.7.15
CFLAGS=-m32 LDFLAGS=-m32 ./configure --prefix=/E/.sbx/Python-2.7.15 --enable-shared
LD_RUN_PATH=/opt/Python-2.7.15/lib make
make install

关于python - 如何在 64 位 CentOS 6 上编译和运行 32 位 Python?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21281259/

10-11 12:29
查看更多