使用较旧的Python版本安装numpy RPM

时间:2013-05-03 15:34:58

标签: python numpy

我正在尝试使用Python 2.4在较旧的Linux机器上通过RPM安装numpy 1.7。 numpy release notesthe RPM page表示它应该与2.4(或< = 2.7)兼容,但是当我尝试使用命令将其安装在计算机上时

rpm -i /tmp/python-numpy-1.7.0-2.1.i586.rpm

我得到了一些遗漏的依赖说明,包括:

    libc.so.6(GLIBC_2.11) is needed by python-numpy-1.7.0-2.1.i586
    libc.so.6(GLIBC_2.4) is needed by python-numpy-1.7.0-2.1.i586
    liblapack.so.3 is needed by python-numpy-1.7.0-2.1.i586
    libpython2.7.so.1.0 is needed by python-numpy-1.7.0-2.1.i586
    python >= 2.7 is needed by python-numpy-1.7.0-2.1.i586
    python = 2.7 is needed by python-numpy-1.7.0-2.1.i586
    python(abi) = 2.7 is needed by python-numpy-1.7.0-2.1.i586
    rpmlib(PayloadIsLzma) <= 4.4.6-1 is needed by python-numpy-1.7.0-2.1.i586

所以现在至少需要Python 2.7,而不是2.7。这是一个真正的差异还是我使用rpm不正确?我已经习惯了能够正确报告依赖关系的高级Linux包管理器并自动安装它们,所以我不确定如何继续这里。

2 个答案:

答案 0 :(得分:1)

如果所有机器都有相同版本的Python,glibc等,那么假设你有gcc(也许是{{gfortran,那么获取numpy source并自己构建它可能会更容易1}})安装,以及BLAS和LAPACK等依赖项。一旦将其安装在一台计算机上,您就可以从numpy(或任何目录)复制.egg文件夹(以及任何/usr/lib/python2.4/site-packages文件),并将其分发到全球各地。确保在构建时创建静态库,这样就不需要所有依赖项。

我还得到numpy 1.7.1,因为它修复了1.7.0的一些问题。

答案 1 :(得分:1)

你确定你的发行版已经没有提供numpy了吗?看起来numpyepel的一部分。

如果由于某种原因您不愿意在发行版中使用该版本,您可能需要自己构建RPM。我能够在CentOS 5.7上构建1.7.1,如下所示:

sudo yum install rpm-build gcc python-devel
wget 'https://pypi.python.org/packages/source/n/numpy/numpy-1.7.1.tar.gz'
tar -xf numpy-1.7.1.tar.gz 
cd numpy-1.7.1/
python setup.py bdist_rpm
sudo yum localinstall dist/numpy-1.7.1-1.i386.rpm

生成的RPM(在./dist中)应该是可用的,无需在具有类似硬件和操作系统的所有机器上重建。