Делает питон составляющей нужно Блас?
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.
как tar нужно скачать с этого сайта?
Я пробовал fortrans, но я продолжаю получать эту ошибку (после установки переменной среды, очевидно).
7 ответов:
The страница составляющей используется для предоставления инструкций по сборке и установке, но инструкции там теперь полагаются на двоичные дистрибутивы ОС. Чтобы построить SciPy (и NumPy) на операционных системах без предварительно скомпилированных пакетов необходимых библиотек, необходимо построить и затем статически связать с библиотеками Fortran Блас и 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
выполните только одну из пяти команд g77/gfortran/ifort. Я все прокомментировал, но компилятором gfortran, который я использую. Последующая установка LAPACK требует Фортран 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 сентября 2015: Проверено несколько комментариев сегодня (спасибо всем): перед запуском
make lapacklib
редактироватьmake.inc
файл и добавить до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) и не понимает option
-frecursive
. Просто удалите его изmake.inc
файл в таких случаях.тестовый объект lapack файла Makefile не работает в моей настройке, потому что он не может найти библиотеки blas. Если вы тщательно вы можете временно переместить библиотеку blas в указанное место, чтобы проверить lapack. Я ленивый человек, поэтому я доверяю разработчикам, чтобы он работал и проверял только в SciPy.
Если вам нужно использовать последние версии SciPy, а не упакованную версию, не проходя через хлопоты по созданию BLAS и LAPACK, вы можете следовать приведенной ниже процедуре.
установить библиотеки линейной алгебры из репозитория (для Ubuntu),
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
Не забудьте установить 'lapack-devel' и 'Блас-девел ' в дополнение к "blas" и "lapack" в противном случае вы получите ошибку, которую вы упомянули, или " numpy.distutils.информация о системе.LapackNotFoundError" ошибка.
Я думаю, вы говорите об установке в Ubuntu. Просто используйте:
apt-get install python-numpy python-scipy
Это также должно позаботиться о компиляции библиотек BLAS. Кроме того, компиляция библиотек BLAS очень сложна.
для пользователей Windows есть хороший двоичный пакет от Chris (внимание: это довольно большая загрузка, 191 МБ):
следуя инструкциям, данным ' cfi ' работает для меня, хотя есть несколько частей, которые они оставили, что вам может понадобиться:
1) ваш каталог lapack, после распаковки, может называться lapack-X-Y (некоторый номер версии), поэтому вы можете просто переименовать его в LAPACK.
cd ~/src mv lapack-[tab] LAPACK
2) в этом каталоге вам может понадобиться сделать:
cd ~/src/LAPACK cp lapack_LINUX.a libflapack.a