本地安装 Numpy

本地安装 Numpy

我发布了这个问题最初在 StackOverflow 上,但一位用户建议我将其移到这里,所以我就在这里!

我在一台没有 root 权限的远程计算机上有一个帐户,我需要在那里安装本地版本的 Python(远程计算机的 Python 版本与我拥有的一些代码不兼容)、Numpy 和 Scipy。我从昨天开始就一直试图在本地安装 numpy,但没有成功。

我在 /home/myusername/.local/ 中成功安装了本地版本的 Python(2.7.3),因此我可以通过执行以下操作访问此版本的 Python /home/myusername/.local/bin/python。我尝试了两种安装 Numpy 的方法:

  1. 我从官方网页下载了最新的稳定版 Numpy,解压后进入解压后的文件夹并执行:/home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local。但是,我收到以下错误,随后出现一系列其他错误(源于此):

    gcc -pthread -shared build/temp.linux-x86_64-2.7/numpy/core/blasdot/_dotblas.o
    -L/usr/local/lib -Lbuild/temp.linux-x86_64-2.7 -lptf77blas -lptcblas -latlas 
    -o build/lib.linux-x86_64-2.7/numpy/core/_dotblas.so
    /usr/bin/ld: /usr/local/lib/libptcblas.a(cblas_dptgemm.o): relocation 
    R_X86_64_32 against `a local symbol' can not be used when making a shared 
    object; recompile with -fPIC
    

    我不知道这是什么意思(除了错误显然与 LAPACK 库有关),我只是执行了与上面相同的命令,但现在输入了 LDFLAGS='-fPIC',正如错误所建议的那样,即我这样做了 LDFLAGS="-fPIC" /home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local。但是,我得到了同样的错误(除了在上面的 gcc 命令后添加了前缀 -fPIC)。

  2. 我尝试使用 pip 安装它,即/home/myusername/.local/bin/pip install numpy在本地路径中成功安装 pip 后执行 /)。但是,我得到了完全相同的错误。

我在网上搜索了一下,但似乎没有一个错误与我的类似。我的第一个猜测是,这与某些需要 root 权限才能执行的代码有关,或者可能是 LAPACK 库的版本或 gcc 存在问题(远程计算机上安装了 gcc 版本 4.1.2)。

有人能帮忙吗?

答案1

不,编译 numpy 时不需要 root 权限。不久前,我刚刚在我的计算机上做了同样的事情,根本没有 root 权限。我认为不需要该--prefix命令。尝试使用--user选项代替setup.py install --user。此选项会自动执行您要执行的操作。

如果这没有帮助,我会检查你的 gcc 和 LAPACK 版本。如果你无法更新这些,那么你可能想尝试旧版本的 numpy。

相关内容