numpy.distutils.system_info.BlasNotFoundError:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
이 사이트에서 어떤 타르를 다운로드해야합니까?
fortrans를 시도했지만 환경 변수를 분명히 설정 한 후이 오류가 계속 발생합니다.
답변
SciPy는 웹 페이지 구축 및 설치 지침을 제공하는 데 사용하지만,이 지침은 이제 OS 바이너리 배포판에 의존하고 있습니다. 필수 라이브러리의 사전 컴파일 된 패키지없이 운영 체제에서 SciPy (및 NumPy)를 빌드하려면 Fortran 라이브러리 BLAS 및 LAPACK 을 빌드 한 후 정적으로 링크해야합니다 .
mkdir -p ~/src/
cd ~/src/
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
cd BLAS-*
## NOTE: The selected Fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.
## For GNU compiler on 32-bit systems:
#g77 -O2 -fno-second-underscore -c *.f # with g77
#gfortran -O2 -std=legacy -fno-second-underscore -c *.f # with gfortran
## OR for GNU compiler on 64-bit systems:
#g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f # with g77
gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f # with gfortran
## OR for Intel compiler:
#ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f
# Continue below irrespective of compiler:
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
export BLAS=~/src/BLAS-*/libfblas.a
5 개의 g77 / gfortran / ifort 명령 중 하나만 실행하십시오. 나는 모든 것을 언급했지만 내가 사용하는 gfortran. 후속 LAPACK 설치에는 Fortran 90 컴파일러 가 필요하며 두 설치 모두 동일한 Fortran 컴파일러를 사용해야하므로 g77을 BLAS에 사용해서는 안됩니다.
다음으로 LAPACK을 설치해야합니다. SciPy 웹 페이지의 지침이 여기에도 도움이되었지만 환경에 맞게 수정해야했습니다.
mkdir -p ~/src
cd ~/src/
wget http://www.netlib.org/lapack/lapack.tgz
tar xzf lapack.tgz
cd lapack-*/
cp INSTALL/make.inc.gfortran make.inc # On Linux with lapack-3.2.1 or newer
make lapacklib
make clean
export LAPACK=~/src/lapack-*/liblapack.a
검증 어떤 코멘트 오늘 (모두에게 감사) : 업데이트 3 – 9 월 2015 실행하기 전에 make lapacklib
편집에게 make.inc
파일을 추가 -fPIC
로 옵션 OPTS
및 NOOPT
설정. 64 비트 아키텍처를 사용하거나 컴파일하려는 경우을 추가하십시오 -m64
. BLAS 및 LAPACK은 이러한 옵션을 동일한 값으로 설정하여 컴파일해야합니다. -fPIC
SciPy 를 잊어 버린 경우 실제로 누락 된 심볼에 대한 오류를 표시하고이 스위치를 권장합니다. make.inc
내 설정에서 특정 섹션은 다음과 같습니다.
FORTRAN = gfortran
OPTS = -O2 -frecursive -fPIC -m64
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive -fPIC -m64
LOADER = gfortran
구형 컴퓨터 (예 : RedHat 5)에서 gfortran은 이전 버전 (예 : 4.1.2)으로 설치되었을 수 있으며 옵션을 이해하지 못합니다 -frecursive
. make.inc
이러한 경우 파일에서 간단히 제거하십시오 .
Makefile의 lapack 테스트 대상이 blas 라이브러리를 찾을 수 없기 때문에 설정에서 실패합니다. 철저한 경우 blas 라이브러리를 지정된 위치로 일시적으로 이동하여 lapack을 테스트 할 수 있습니다. 나는 게으른 사람이므로 개발자가 SciPy에서만 작동하고 확인하도록 믿습니다.
답변
BLAS 및 LAPACK을 작성하는 번거 로움없이 패키지 버전이 아닌 최신 버전의 SciPy를 사용해야하는 경우 아래 절차를 수행 할 수 있습니다.
저장소 (우분투 용)에서 선형 대수 라이브러리를 설치하십시오.
sudo apt-get install gfortran libopenblas-dev liblapack-dev
그런 다음 SciPy 소스를 다운로드 한 후 SciPy를 설치하십시오. python setup.py install
또는
pip install scipy
경우에 따라
답변
Fedora에서는 다음과 같이 작동합니다.
yum install lapack lapack-devel blas blas-devel
pip install numpy
pip install scipy
‘blas’및 ‘lapack’외에 ‘ lapack-devel ‘및 ‘ blas-devel ‘ 을 설치해야합니다. 그렇지 않으면 언급 한 오류 또는 “numpy.distutils.system_info. LapackNotFoundError “오류가 발생합니다.
답변
우분투에서의 설치에 대해 이야기하고 있다고 생각합니다. 그냥 사용하십시오 :
apt-get install python-numpy python-scipy
BLAS 라이브러리 컴파일도 처리해야합니다. 그렇지 않으면 BLAS 라이브러리를 컴파일하는 것은 매우 어렵습니다.
답변
Windows 사용자에게는 Chris의 멋진 이진 패키지가 있습니다 (경고 : 191MB로 매우 큰 다운로드입니다).
답변
‘cfi’가 제공 한 지침을 따르면 나를 위해 작동하지만 필요한 몇 가지 부분이 있지만
1) 압축을 푼 후에 lapack 디렉토리를 lapack-XY (일부 버전 번호)라고 할 수 있으므로 LAPACK으로 이름을 바꿀 수 있습니다.
cd ~/src
mv lapack-[tab] LAPACK
2) 해당 디렉토리에서 다음을 수행해야 할 수도 있습니다.
cd ~/src/LAPACK
cp lapack_LINUX.a libflapack.a
답변
사용해보십시오
sudo apt-get install python3-scipy