【发布时间】:2012-06-05 00:34:45
【问题描述】:
我在远程计算机上拥有一个没有 root 权限的帐户,我需要安装 Python 的本地版本(远程计算机的 Python 版本与我的某些代码不兼容),那里有 Numpy 和 Scipy。从昨天开始,我一直在尝试在本地安装 numpy,但没有成功。
我在 /home/myusername/.local/ 中成功安装了本地版本的 Python (2.7.3),因此我通过执行 /home/myusername/.local/bin/python 访问此版本的 Python。我尝试了两种安装 Numpy 的方法:
-
我从官网上下载了最新的稳定版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)。 我尝试使用 pip 安装它,即在我的本地路径中成功安装 pip 后执行
/home/myusername/.local/bin/pip install numpy/)。但是,我得到了完全相同的错误。
我在网上搜索过,但似乎没有一个错误与我的相似。我的第一个猜测是,这与一些需要 root 权限才能执行的代码有关,或者可能与 LAPACK 库的版本有关。
帮忙,有人吗?
【问题讨论】:
-
我不知道 superuser.com!我也会在那里发布问题,感谢您的建议(但是,我仍然想知道......为什么我的问题不适合这里?)。
-
-fPIC 是一个编译选项,而不是一个链接选项,所以将它添加到 LDFLAGS 不会做任何事情。您应该尝试将其添加到编译器标志中。
-
感谢您的提示!但是,即使使用 CFLAGS="-fPIC" 也会引发同样的错误...
-
您确定所有内容都在使用新标志重新编译吗?因为源文件没有改变,setup.py 有可能直接进入链接阶段。确保在重新编译之前删除“build”目录。
-
是的,我确定。在使用 CFLAGS='-fPIC' 编译代码之前,我删除了构建目录。
标签: python numpy installation