我需要在64位CentOS中运行32位Python。
我有一个PCI-GPIB接口卡。其司机来自National Instruments。它在驱动程序页面中说:
NI-488.2版本2.9支持64位内核。目前,驱动程序只能用于32位应用程序。
我使用PyVISA包装器来使用驱动程序,如下所示:
import visa
但是,我收到以下错误:
OSError: /usr/local/vxipnp/linux/bin/libvisa.so.7: wrong ELF class: ELFCLASS32
NI表示他们的驱动程序支持64位内核。 不可即可。
但它只能在 32位应用程序中使用。的为即可。我的Python安装(我自己编译)是64位。
答案 0 :(得分:1)
以下是我在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
答案 1 :(得分:0)
如果可以从~/tmp/Python-3.7.1
运行python,以下方法对我有用:
mkdir ~/tmp
cd ~/tmp
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
tar xzf Python-3.7.1.tgz
cd Python-3.7.1
CFLAGS=-m32 LDFLAGS=-m32 ./configure
make
当然,您首先需要为i686安装库和编译器:
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 libffi-devel.i686
(与其他答案相比,增加了libffi-devel)