Instalação Windows Scipy: Nenhum recurso Lapack / Blas encontrado

169

Estou tentando instalar python e uma série de pacotes em um desktop de 64 bits do Windows 7. Instalei o Python 3.4, instalei o Microsoft Visual Studio C ++ e instalei com sucesso o numpy, pandas e alguns outros. Estou recebendo o seguinte erro ao tentar instalar o scipy;

numpy.distutils.system_info.NotFoundError: no lapack/blas resources found

Estou usando o pip install offline, o comando de instalação que estou usando é;

pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy

Eu li os posts aqui sobre a necessidade de um compilador que, se eu entendi corretamente, é o compilador VS C ++. Estou usando a versão 2010 como estou usando o Python 3.4. Isso funcionou para outros pacotes.

Preciso usar a janela binária ou existe uma maneira de obter a instalação do pip para funcionar?

Muito obrigado pela ajuda

tjb305
fonte
4
Eu acho que requer um compilador Fortran. Mas se os binários pré-construídos forem aceitáveis, você pode usar os pacotes numpy e scipy wheel de Christoph Gohlke com pip.
Eryk Sun
Obrigado Eryksun, estou baixando os binários para ver se isso corrige o problema.
tjb305
Frustrantemente, quando tento instalar o binário, ele afirma que não tenho o Python 3.4 instalado, mesmo que esteja lá no PATH.
precisa saber é o seguinte
Tentepy -3.4 -m pip install SomePackage.whl
Eryk Sun
2
Eu também tive esse problema. Eu era incapaz de obter pip ao trabalho, mas isso funcionou para mim (em Widows): sourceforge.net/projects/scipy/files/scipy
MackM

Respostas:

33

A solução para a ausência de bibliotecas BLAS / LAPACK para instalações SciPy no Windows 7 de 64 bits é descrita aqui:

http://www.scipy.org/scipylib/building/windows.html

Instalar o Anaconda é muito mais fácil, mas você ainda não recebe suporte para Intel MKL ou GPU sem pagar por isso (eles estão nos complementos MKL Optimizations and Accelerate for Anaconda - não tenho certeza se eles usam PLASMA e MAGMA) . Com a otimização do MKL, o numpy superou em 10 vezes o IDL em grandes cálculos matriciais. O MATLAB usa a biblioteca Intel MKL internamente e suporta a computação de GPU; portanto, é possível usá-lo pelo preço se for um estudante (US $ 50 para o MATLAB + US $ 10 para a Parallel Computing Toolbox). Se você obtiver a versão de avaliação gratuita do Intel Parallel Studio, ele vem com a biblioteca MKL, bem como com os compiladores C ++ e FORTRAN, que serão úteis se você desejar instalar o BLAS e o LAPACK a partir do MKL ou ATLAS no Windows:

http://icl.cs.utk.edu/lapack-for-windows/lapack/

O Parallel Studio também vem com a biblioteca Intel MPI, útil para aplicativos de computação em cluster e seus mais recentes processadores Xeon. Embora o processo de criação de BLAS e LAPACK com otimização de MKL não seja trivial, os benefícios de fazê-lo para Python e R são bastante grandes, conforme descrito neste webinar da Intel:

https://software.intel.com/en-us/articles/powered-by-mkl-accelerating-numpy-and-scipy-performance-with-intel-mkl-python

A Anaconda e a Enthought criaram negócios para tornar essa funcionalidade e algumas outras coisas mais fáceis de implantar. No entanto, está disponível gratuitamente para aqueles que desejam fazer um pouco de trabalho (e um pouco de aprendizado).

Para quem usa R, agora você pode obter BLAS e LAPACK otimizados para MKL gratuitamente com o R Open da Revolution Analytics.

EDIT: O Anaconda Python agora é fornecido com otimização MKL, bem como suporte para várias outras otimizações de bibliotecas Intel através da distribuição Intel Python. No entanto, o suporte de GPU para o Anaconda na biblioteca Accelerate (anteriormente conhecido como NumbaPro) ainda está acima de US $ 10.000! As melhores alternativas para isso provavelmente são PyCUDA e scikit-cuda, pois o copperhead (essencialmente uma versão gratuita do Anaconda Accelerate) infelizmente parou de ser desenvolvido há cinco anos. Pode ser encontrado aqui se alguém quiser continuar de onde parou.

Adam Erickson
fonte
O único problema com icl.cs.utk.edu/lapack-for-windows/lapack é que é confuso. Alguém tem dicas sobre o que fazer com isso?
gseattle
1
Resposta curta: use Anaconda
jordiburgos
Eu uso o Anaconda e ainda recebo o erro. Eu tive que baixar o arquivo whl, incluindo mkl, e instalá-lo para que ele funcionasse. (Resposta See Jaanus' abaixo: numpy baunilha não é suficiente)
marts
1
2017 aqui - eu consegui trabalhar usando o método aqui . Não é tão ruim assim que você entende, mas não é tão direto quanto deveria ser.
Jonathan Porter
O primeiro link está quebrado. Eu acho que deveria ser scipy.github.io/devdocs/building/windows.html .
precisa saber é o seguinte
120

O link a seguir deve resolver todos os problemas do Windows e do SciPy ; basta escolher o download apropriado. Consegui instalar o pacote sem problemas. Todas as outras soluções que tentei me deram grandes dores de cabeça.

Fonte: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Comando:

 pip install [Local File Location]\[Your specific file such as scipy-0.16.0-cp27-none-win_amd64.whl]

Isso pressupõe que você já instalou o seguinte:

  1. Instale o Visual Studio 2015/2013 com Python Tools
    (Está integrado às opções de instalação na instalação de 2015)

  2. Instale o Visual Studio C ++ Compiler para Python
    Origem: http://www.microsoft.com/en-us/download/details.aspx?id=44266
    Nome do arquivo:VCForPython27.msi

  3. Instale a versão preferida do Python
    Fonte: python.org
    Nome do arquivo (por exemplo):python-2.7.10.amd64.msi

drewid
fonte
9
@Nozdrum e aqueles que desejam usar esse método, basta instalar o numpy + mkl antes do scipy para ter acesso ao blas.
21915 Holt
1
Além disso, convém usar a instalação do SciPy no mesmo site indicado por @Holt. Eu tive que usar o Numpy + MKL e o SciPy fornecidos nos arquivos WHL para fazê-lo funcionar.
Jesuisme
2
Entendo que esta solução só funciona com Python 2.7? Parece que não há compilador para Python 3 a partir de agosto de 2016
geneorama
2
Isso funciona como um encanto. Você pode querer observar que o CP27 nos nomes de arquivo aponta para a versão do python do .whl é por tanto de download CP35 se você estiver executando python 3.5, CP27 para 2,7 etc
Alexander Micklewright
2
Só queria destacar o que @AlexanderMicklewright escreveu. Não era óbvio para mim que isso cpXXse refere à versão XX do (C) Python. Apenas escolhi implicitamente a versão mais alta cp36, embora eu esteja executando o Python 3.5.
Czechnology
98

A versão do meu python é 2.7.10, Windows 7 de 64 bits.

  1. Download scipy-0.18.0-cp27-cp27m-win_amd64.whldehttp://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Abrir cmd
  3. Verifique se scipy-0.18.0-cp27-cp27m-win_amd64.whlestá no cmddiretório atual e digite pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl.

Será instalado com sucesso.

stmatengss
fonte
17
Isso deve ser marcado como a resposta; funcionou e é a maneira mais simples de instalá-lo.
Tensigh 29/09/16
Não tenho certeza de qual é o papel do arquivo scikits.vectorplot-0.1.1-cp27-none-win_amd64.whl aqui. Acabei de baixar o arquivo scipy-0.18.0-cp27-cp27m-win_amd64.whl a partir do link fornecido que instalou com sucesso o scipy. Em seguida, fui avisado sobre a falta de numpy + mkl. Eu baixei usando o mesmo link e instalei usando a instalação do pip. Funciona muito bem e concordo que esta é a solução mais fácil que encontrei.
Beeprogrammer # 10/16
5
Também funciona com python 3.6 e windows 10.
Obrigado! solução simples e fácil
Dinesh
Sua solução também funcionou com Python 3.5 e Windows 10.
Nicola Pesavento
30

Desculpe necro, mas este é o primeiro resultado de pesquisa do Google. Esta é a solução que funcionou para mim:

  1. Faça o download da roda numpy + mkl em http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy . Use a versão igual à sua versão python (verifique usando python -V). Por exemplo. se o seu python for 3.5.2, baixe a roda que mostra cp35

  2. Abra o prompt de comando e navegue até a pasta em que você baixou a roda. Execute o comando: pip install [nome do arquivo da roda]

  3. Faça o download da roda SciPy em: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy (semelhante à etapa acima).

  4. Como acima, pip install [nome do arquivo da roda]

aleksk
fonte
Não há problema em postar respostas para perguntas mortas. Na verdade, nós realmente analisá-lo cada vez que um novo usuário faz isso.
Nissa
2
Isso funcionou para mim no Python 3.5 de 32 bits no Windows 8 de 64 bits, a partir de 8 de janeiro de 2017
Rob Mulder
1
graças, trabalhou para Python 3.6 com numpy 1.13.1 + mkl, pandas 0.20.3, scikit-learn 0.18.2, 0.19.1 scipy
zina
1
Isso funcionou para mim no Windows 10 x64 usando Python 3.6.2
Jeff Lindborg
20

Essa foi a ordem em que tudo funcionou. O segundo ponto é o mais importante. O Scipy precisa Numpy+MKL, não apenas baunilha Numpy.

  1. Instale o python 3.5
  2. pip install "file path"(faça o download da roda Numpy + MKL aqui http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy )
  3. pip install scipy
Jaanus
fonte
7
Bem, eu fiz as etapas 1) e 2), mas na terceira estava recebendo o mesmo erro. Portanto, após as etapas 1) e 2), tive que baixar manualmente o pacote Scipy.whl a partir daqui: lfd.uci.edu/~gohlke/pythonlibs/#scipy e pip install "scipy download path". Agora funciona muito bem!
Geraldo Neto
5

Se você estiver trabalhando com Windows e Visual Studio 2015

Digite os seguintes comandos

  • "conda install numpy"
  • "conda instala pandas"
  • "conda install scipy"
maníaco
fonte
2

Instalação simples e rápida do Scipy no Windows

  1. Faça o http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipydownload do pacote Scipy correto para a sua versão do Python (por exemplo, o pacote correto para o python 3.5 e o Windows x64 scipy-0.19.1-cp35-cp35m-win_amd64.whl).
  2. Abra cmddentro do diretório que contém o pacote Scipy baixado.
  3. Digite pip install <<your-scipy-package-name>>(por exemplo, pip install scipy-0.19.1-cp35-cp35m-win_amd64.whl).
Nicola Pesavento
fonte
5
Eu obtive 'scipy-0.19.1-cp36-cp36m-win_amd64.whl não é uma roda suportada nesta plataforma.' ao fazer isso.
ouriço demente
1

A Intel agora fornece gratuitamente uma distribuição Python para Linux / Windows / OS X chamada " Distribuição Intel para Python ".

É uma distribuição completa do Python (por exemplo, o python.exe está incluído no pacote), que inclui alguns módulos pré-instalados compilados no MKL (Math Kernel Library) da Intel e, portanto, otimizados para um desempenho mais rápido.

A distribuição inclui os módulos NumPy, SciPy, scikit-learn, pandas, matplotlib, Numba, tbb, pyDAAL, Jupyter e outros. A desvantagem é um pouco de atraso na atualização para versões mais recentes do Python. Por exemplo, a partir de hoje (1º de maio de 2017) a distribuição fornece o CPython 3.5 enquanto a versão 3.6 já está disponível. Mas se você não precisar dos novos recursos, eles devem estar perfeitamente bem.

raffaem
fonte
Você sabe se as bibliotecas BLAS usadas são "dinâmicas"? Estou usando o theano e, se as bibliotecas forem "estáticas", muitos problemas aparecerão.
Daniel Möller
@ Daniel O que você quer dizer com bibliotecas estáticas? Python é uma linguagem interpretada. Como você está usando bibliotecas vinculadas estaticamente? Mas eu não sou especialista neste campo. Então, possivelmente, eu estou faltando alguma coisa
raffaem
O não entendo muito bem também. Mas esse é um problema real para usar o theano. Ele precisa que as bibliotecas BLAS sejam dinâmicas (talvez vinculadas dinamicamente a numpy em vez de estaticamente vinculadas a numpy?) - Pyton usa uma série de bibliotecas compiladas, por isso pode funcionar tão rápido, embora seja interpretado.
Daniel Möller
1

Eu também estava recebendo o mesmo erro ao instalar o scikit-fuzzy. Resolvi o erro da seguinte maneira:

  1. Instale o Numpy , um arquivo whl
  2. Instale o Scipy , novamente um arquivo whl

escolha o arquivo de acordo com a versão do python como amd64 para python3 e outro arquivo win32 para o python27

  1. então pip install --user skfuzzy

Espero que funcione para você

Rochan
fonte
0

O uso de recursos em http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy resolverá o problema. No entanto, você deve ter cuidado com a compatibilidade de versões. Depois de tentar várias vezes, finalmente decidi desinstalar o python e, em seguida, instalei uma versão nova do python junto com o numpy e depois instalei o scipy, e isso resolveu o meu problema.

Sobhan Moosavi
fonte
Os links para recursos externos são incentivados, mas adicione contexto ao redor do link para que seus colegas usuários tenham uma idéia do que é e por que está lá. Sempre cite a parte mais relevante de um link importante, caso o site de destino esteja inacessível ou fique permanentemente offline.
Pableiros
0

fazer isso, resolveu para mim pip install -U scikit-learn

Uday
fonte