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


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.


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


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


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.


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]


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

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"


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).

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.


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ê



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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.