我使用python 2.7.2从源代码本地构建了numpy,因为我没有对系统的root访问权限。安装后,我将以下路径/path/to/install/lib/python2.7/site-packages附加到PYTHONPATH。当我尝试从python导入时,出现以下错误:
import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/path/to/numpy/numpy-1.8.0/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module>
from . import add_newdocs
File "/path/to/numpy/numpy-1.8.0/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/path/to/numpy/numpy-1.8.0/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module>
from .polynomial import *
File "/path/to/numpy/numpy-1.8.0/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module>
from numpy.linalg import eigvals, lstsq, inv
File "/path/to/numpy/numpy-1.8.0/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 50, in <module>
from .linalg import *
File "/path/to/numpy/numpy-1.8.0/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module>
from numpy.linalg import lapack_lite, _umath_linalg
ImportError: libgfortran.so.1: cannot open shared object file: No such file or directory
我还在本地创建了GCC,并正确设置了所有路径和库路径。虽然构建numpy,但我没有构建ATLAS,因为我运行的机器有cpu限制,我无法更改它。在不关闭节流的情况下,无法安装ATLAS。
出现此错误的可能原因是什么?
答案 0 :(得分:1)
这看起来像是机器上fortran库的依赖问题。
一般情况下,任何软件包的本地安装都可以用我知道的三种(简单)方式实现,其中没有一种方法需要更改python路径。
最简单的方法是使用带有--user标志的pip。
pip install numpy --user
确保~/.local/bin
位于$PATH
,然后如果您的依赖关系正确,那么numpy就可以正常工作。