我在一台没有根权限的远程计算机上有一个帐户,我需要安装Python的本地版本(远程计算机有一个与我有的代码不兼容的Python版本)、Numpy和Scipy。从昨天起,我就一直试图在本地安装numpy,但没有成功。
我成功地在/home/myusername/. local /中安装了Python的本地版本(2.7.3),因此我通过执行/home/myusername/.local/bin/python访问了这个版本的Python。我尝试了两种安装Numpy的方法:
/home/myusername/.local/bin/python setup.py install --prefix=/home/myusername/.local。但是,我得到以下错误,然后是一系列其他错误(从这个错误派生出来):gcc build/temp.linux-x86_64-2.7/numpy/core/blasdot/_dotblas.o -L/usr/local/lib -Lbuild/tem.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):针对a local symbol' can not be used when making a shared object; recompile with -fPIC Not really knowing what this meant (except that the error apparently has to do with the LAPACK library), I just did the same command as above, but now putting LDFLAGS='-fPIC', as suggested by the error i.e., I didLDFLAGS=的迁移R_X86_64_32"-fPIC“/home/myusername/..local/bin/python setup.py install --前缀=/home/myusername/..local‘。然而,我也得到了同样的错误(除了前缀-fPIC是在上面的gcc命令之后添加的),
/home/myusername/.local/bin/pip install numpy /after成功安装pip )。然而,我得到了完全相同的错误。我在网上搜索,但似乎没有一个错误与我的相似。我的第一个猜测是,这与执行根权限的代码有关,或者可能与LAPACK库的版本有关。
有人帮忙吗?
发布于 2012-06-05 09:04:23
错误消息告诉您,您的ATLAS库没有使用-fPIC标志构建。这意味着它不能链接到像Python扩展模块这样的共享库中。您需要使用-fPIC标志重建ATLAS。ATLAS文档描述了如何这样做。
发布于 2012-06-05 01:55:33
从源头上说这是一种痛苦。有可能避免这样做吗?
如果我们假设您试图在x86计算机上安装(Intel、AMD等),那么您能否只在另一台有根的x86计算机上安装x86,然后创建一个tar安装存档,将tar复制到另一台计算机,然后解压tar存档?
上面的问题在于,预先构建的Python可能有硬编码的路径来查找库:它可能需要库在/usr/share或其他地方。这可能有点麻烦,但您可能会创建一个chroot监狱并让Python运行。
您可能还想看看Enthought分发(EPD)。我相信环保署的安装人员只是问你要把环保署安装在哪里,然后在那里安装。
http://www.enthought.com/products/epdgetstart.php?platform=linux
环保署有免费版本。如果您想要64位,您将不得不支付环保署,但如果32位将为您工作,环保署免费可能是您所需要的。
http://www.enthought.com/products/epd_free.php
恩思特网站似乎在拒绝任何不以www.开头的网址!这意味着,一些谷歌搜索链接不能工作,除非你编辑他们插入www.在开始。我相信他们很快就会解决这个问题的。
发布于 2012-06-20 13:16:54
您可能需要查看EasyBuild,以便在启用numpy和see的情况下构建本地Python版本,请参阅http://hpcugent.github.com/easybuild/。
它基本上消除了所有讨厌的东西,您只需要配置它一点点(指定您希望软件在哪里结束,以便示例),然后您可以使用您选择的包使用一个命令来构建Python。
https://stackoverflow.com/questions/10890178
复制相似问题