Não é possível instalar o Scipy através do pip

119

Ao instalar o scipy através do pip com:

pip install scipy

O Pip falha ao criar scipy e lança o seguinte erro:

Cleaning up...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Storing debug log for failure in /Users/administrator/.pip/pip.log

Como posso obter scipy para construir com sucesso? Este pode ser um novo problema no OSX Yosemite desde que eu atualizei e não tive problemas ao instalar o scipy antes.


Log de depuração:

Cleaning up...
  Removing temporary dir /Users/administrator/dev/KaggleAux/env/build...
Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
Exception information:
Traceback (most recent call last):
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Users/administrator/dev/KaggleAux/env/lib/python2.7/site-packages/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /Users/administrator/dev/KaggleAux/env/bin/python2.7 -c "import setuptools, tokenize;__file__='/Users/administrator/dev/KaggleAux/env/build/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/zl/7698ng4d4nxd49q1845jd9340000gn/T/pip-eO8gua-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/administrator/dev/KaggleAux/env/bin/../include/site/python2.7 failed with error code 1 in /Users/administrator/dev/KaggleAux/env/build/scipy
agconti
fonte
Tente usar 'sudo pip install scipy'
Piotr Dabkowski
@PiotrDabkowski Eu instalei o python através do homebrew, então não preciso usar o sudo. Além disso, por que o sudo ajudaria na etapa de compilação? Eu posso ver usá-lo se jogou permissão negada ou algo assim.
26614 Agconti
Tem certeza de que o erro não foi causado por algum problema de permissão?
Piotr Dabkowski 26/10
Usuários do Windows podem ver a minha resposta aqui
Statham
Para Centos garantir u tem LAPACK-devel se não yum install LAPACK-devel
Divyank Shukla

Respostas:

106

Após abrir um problema com a equipe SciPy, descobrimos que você precisa atualizar o pip com:

pip install --upgrade pip

E Python 3neste trabalho:

python3 -m pip install --upgrade pip

para o SciPy instalar corretamente. Por quê? Porque:

As versões mais antigas do pip devem ser instruídas a usar rodas, IIRC com --use-wheel. Ou você pode atualizar o próprio pip, então ele deve pegar as rodas.

A atualização do pip resolve o problema, mas você também pode usar o --use-wheelsinalizador também.

agconti
fonte
11
Isso funcionou para mim - mas eu também tive que instalar pacotes sugeridos de Lukesudo apt-get install libatlas-base-dev gfortran
BenB
Eu tive que remover a versão antiga do pip antes de atualizar. Então funcionou perfeitamente.
Autónomo
1
Além disso, na minha instalação 14.04 perfeitamente fresca, eu também preciseisudo apt-get install python-dev
BenB
90

Os usuários do Microsoft Windows das instalações Python de 64 bits precisarão fazer o download .whldo Scipy de 64 bits daqui e simplesmente cdpara a pasta em que você baixou o .whlarquivo e executar:

pip install scipy-0.16.1-cp27-none-win_amd64.whl
ConorB
fonte
28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Relojoeiro
15
@gugol Talvez você já tenha tentado isso, mas precisa garantir que os números após cp correspondam à sua versão do python (por exemplo, cp34 = 3.4) e o amd64 / win32 esteja correto.
Fdsa 31/10/16
4
D:\TEMP>pip install "scipy-0.19.1-cp35-cp35m-win_amd64.whl" Requirement 'scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl' looks li ke a filename, but the file does not exist scipy\u20110.19.1\u2011cp35\u2011cp35m\u2011win_amd64.whl is not a valid wheel f ilename. D:\TEMP>pip install "test.whl" test.whl is not a valid wheel filename. D:\TEMP>pip install test.whl test.whl is not a valid wheel filename.Eu CD para o diretório tentar executá-lo e obter um erro. Então eu mudo o nome do arquivo, tente executá-lo e obtenha outro erro. O método não funciona ...
user32882
Estou vendo o mesmo problema que @ user32882. O que estamos fazendo de errado?
gen
@gugol Eu tive o mesmo problema, a nota do @ Cyclotron3x3 me ajudou; o -cp27no nome do arquivo refere-se à versão do python, eu tive que encontrar o arquivo com -cp36o nome do arquivo para coincidir com a minha versão do Python: 3.6.
Benson
59

Enfrento o mesmo problema ao instalar o Scipy no ubuntu.
Eu tive que usar o comando:

$ sudo apt-get install libatlas-base-dev gfortran
$ sudo pip3 install scipy

Você pode obter mais detalhes aqui Instalando o SciPy com pip
Desculpe, não sei como fazê-lo no OS X Yosemite.

Chris Cheng
fonte
Isso resolveu o problema que eu tinha usando o "Bash no Ubuntu no Windows 10".
Coxy
41

No Windows 10, a maioria das opções não funciona. Siga esses passos:

No Windows 10 com CMD, você não pode baixar scipydiretamente usando a maioria dos comandos bem conhecidas como wget, cloning scipy github, pip install scipy, etc

Para instalar, acesse os arquivos pythonlibs .whl e, se você estiver usando python 2.7 32 bit, faça o download numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlou, em python 2.7 62 bitseguida, faça o downloadnumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

Após o download, salve os arquivos sob o seu python directory, no meu caso, foic:\>python27

Então corra:

pip install C:\Python27\numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl 
pip install C:\Python27\scipy-0.18.1-cp27-cp27m-win32.whl

Nota:

  1. scipyprecisa numpycomo dependência, é por isso que estamos baixando numpyantes scipy.
  2. cp27em arquivos .whl significa que esses arquivos são para python 2.7e cp33significa python 3.xespeciaficamente> = 3.3
Cyclotron3x3
fonte
Isso funcionou como um encanto! :) Tentei todas as outras soluções, mas falhou (Windows 10, Python 2.7 de 32 bits)
U. Muneeb
Isso funcionou para mim no win 10 com Python 3.5 e 64b máquina pip install numpy-1.13.1 + mkl-cp35-cp35m-win_amd64.whl pip install numpy-1.13.1 + mkl-cp35-cp35m-win_amd64.whl
vlad
Esta resposta resolveu o problema no meu caso (Windows 8.1), mas eu também precisava baixar e instalar o numpy + mkl wheel. Faça isso se você receber um ImportError "NUMPY_MKL" ao tentar importar o scipy depois de seguir esta resposta. Créditos para @VMAtm .
Renato Byrro
Para Python 3.6.2 no uso do Windows 10scipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry
Graças !, para uso imread i foi necessário para instalar Pillow também --pip instalar Pillow
ilimitada
13

Depois de encontrar esta resposta para algumas pistas, consegui fazer isso fazendo

brew install gcc 
pip install scipy

(A primeira dessas etapas levou 96 minutos no meu Mac Book Air de 2011, por isso espero que você não tenha pressa!)

Liz Rice
fonte
Na verdade, eu era incapaz brew install gcc. Acabou lançando um monte de erros. Mas depois de trabalhar com os caras do Scipy; Eu encontrei uma solução. Obrigado pela sua resposta!
agconti
Isso acabou sendo a solução direta para mim. Acabam não criando e instalando o kit scipy baixado. :)
Sean
Isso funcionou para mim e levou apenas alguns segundos para o primeiro passo
André Fratelli
9

Se você é totalmente novo no python, leia passo a passo ou vá diretamente para o último passo. Siga o método abaixo para instalar o scipy 0.18.1 no Windows de 64 bits e Python de 64 bits. Se o comando abaixo não estiver funcionando, prossiga

pip install scipy

Tenha cuidado com as versões do

  1. Pitão

  2. janelas

  3. Versão .whl de arquivos numpy e scipy

  4. Primeiro instale numpy e scipy.

    pip install FileName.whl
  5. Para Numpy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy Para Scipy: http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Esteja ciente do nome do arquivo (verifique o número da versão).

Ex: scipy-0.18.1-cp35-cp35m-win_amd64.whl

Para verificar qual versão é suportada pelo seu pip, vá para o ponto 2 abaixo.

Se você estiver usando o arquivo .whl. É provável que ocorram os seguintes erros.

  1. Você está usando o pip versão 7.1.0, no entanto, a versão 8.1.2 está disponível.

Você deve considerar a atualização através do comando 'python -m pip install --upgrade pip'

  1. roda scipy-0.15.1-cp33-none-win_amd64.whl.whl não é suportada nesta plataforma

Para o erro acima: inicie o Python e digite:

import pip
print(pip.pep425tags.get_supported())

Resultado:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none ',' any '), (' cp3 ',' none ',' any '), (' py35 ',' none ',' any '), (' py3 ',' none ',' any '), ( 'py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')]

Na saída, você observará que o cp35 está lá; faça o download do cp35 para numpy e scipy. Outras edições são bem-vindas.

Arun Naudiyal
fonte
9

Para Windows 10

C: \ diretório> pip install scipy-0.19.0rc2-cp35-cp35m-win_amd64.whl

Ayudh Hande
fonte
6

Em vez de seguir o caminho mais difícil de baixar pacotes específicos. Eu prefiro seguir a rota mais rápida de usar o Conda. O pip tem seus problemas.

  • Python -v (3.6.0)
  • Windows 10 (64 bits)

Conda, instale o conda em: https://conda.io/docs/install/quick.html#windows-miniconda-install

prompt de comando

C:\Users\xyz>conda install -c anaconda scipy=0.18.1
Fetching package metadata .............
Solving package specifications:

Plano de pacote para instalação no ambiente C: \ Users \ xyz \ Miniconda3:

Os seguintes NOVOS pacotes serão INSTALADOS:

mkl:       2017.0.1-0         anaconda
numpy:     1.12.0-py36_0      anaconda
scipy:     0.18.1-np112py36_1 anaconda

Os seguintes pacotes serão SUPERCEDIDOS por um canal de prioridade mais alta:

conda:     4.3.11-py36_0               --> 4.3.11-py36_0 anaconda
conda-env: 2.6.0-0                     --> 2.6.0-0       anaconda

Continuar ([y] / n)? y

conda-env-2.6. 100% |###############################| Time: 0:00:00  32.92 kB/s
mkl-2017.0.1-0 100% |###############################| Time: 0:00:24   5.45 MB/s
numpy-1.12.0-p 100% |###############################| Time: 0:00:00   5.09 MB/s
scipy-0.18.1-n 100% |###############################| Time: 0:00:02   5.59 MB/s
conda-4.3.11-p 100% |###############################| Time: 0:00:00   4.70 MB/s
Sandeep Anand
fonte
4

Esta é uma alternativa ao pip . Eu também tive o mesmo erro ao instalar o scipy com o pip.

Então eu baixei e instalei o MiniConda . E então eu usei o comando abaixo para instalar o pytables.

conda install -c conda-forge scipy

Consulte a captura de tela abaixo.

insira a descrição da imagem aqui

Tharindu Kumara
fonte
3

o melhor método que eu poderia sugerir é este

  1. Faça o download do arquivo wheel deste local para a sua versão do python

  2. Mova o arquivo para sua unidade principal, por exemplo, C:>

  3. Execute o Cmd e digite o seguinte

    • pip install scipy-1.0.0rc1-cp36-none-win_amd64.whl

Observe que esta é a versão que estou usando para o pyhton 3.6.2.

convém executar esse comando depois para garantir que todos os seus complementos python estejam atualizados

pip list --outdated
Kobra
fonte
1

Como alternativa, faça o download e execute manualmente a versão do Scipy http://www.lfd.uci.edu/~gohlke/pythonlibs, adequada para você. Considere a sua versão do Python (python --version) e a arquitetura do sistema (32/64 bits) . Escolha a versão Scipy de acordo. scipy-0.18.1- cp27 -cp27m- win32 - para Python 2.7 de 32 bits scipy-0.18.1- cp27 -cp27m- win_amd64 - para Python 2.7 de 64 bits Caso contrário, o erro scipy-0.15.1-cp33-none-win_amd64.whl A roda .whl não é suportada nesta plataforma será exibida na instalação.

Agora mude o diretório para o arquivo baixado e execute o comando pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl(altere o nome do arquivo adequadamente)

Eu adicionei essa resposta apenas porque a resposta do Arun (considerada útil por mim) não mencionou nada sobre a correspondência de 32/64 bits que eu enfrentei.

Nipun Thathsara
fonte
0

Se você estiver usando o CentOS, precisará instalar o lapack-devel da seguinte maneira:

 $ yum install lapack-devel
Nazilla
fonte
0

Tente baixar o arquivo scipy no link abaixo

https://sourceforge.net/projects/scipy/?source=typ_redirect

Será um arquivo .exe e você só precisa executá-lo. Mas lembre-se de escolher a versão scipy correspondente à sua versão python.

Quando o arquivo scipy.exe for executado, ele localizará o diretório python e será instalado.

u_found_me
fonte
0

Eu estava tendo o mesmo problema e consegui usá-lo sudo.

$ sudo pip install scipy
Zico
fonte
0

A maneira mais fácil é seguir as etapas: Corrigindo scipy para python [2.n <python <3.n]

Faça o download dos arquivos necessários em: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Baixe a versão do numpy + mkl (necessário para executar o scipy) e, em seguida, faça o download do scipy para o seu tipo python (2.n python escrito como 2n) ou (3.n python escrito como 3n), n é uma variável. Observe que você deve saber se possui um processador de 32 ou 64 bits.

Crie um diretório em algum lugar do seu computador, exemplo [C: \ DIRECTORY] para instalar os arquivos numpy + mkd.whl e scipy.whl

Depois de baixar os dois arquivos, encontre o local do arquivo no seu computador e mova-o para o diretório que você criou.

Exemplo: a primeira instalação do arquivo é necessária, pois o scipy está em

C: \ DIRECTORY \ numpy \ numpy-0.0.0 + mkl-cp2n-cp2nm-win_amd32.whl

Exemplo: a segunda instalação do arquivo está em

C: \ DIRECTORY \ scipy \ scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

Vá para o prompt de comando e siga o exemplo a seguir para uma versão 2.n do python:

py -2.n -m pip install C:\DIRECTORY\numpy\numpy-0.0.0+mkl-cp2n-cp2nm-win_amd32.whl

devemos instalar

py -2.n -m pip install C:\DIRECTORY\scipy\scipy-0.0.0-cp2n-cp2nm-win_amd32.whl

devemos instalar

Teste os dois módulos no seu python IDLE da seguinte maneira:

import numpy

import scipy

os módulos estão funcionando se nenhum erro for retornado.

IFDAAS

Grupo Ifdaas
fonte
Esta resposta é específica do Windows, pois o questionador está no OS X Yosemite?
Ari Cooper-Davis
0

Para janelas (7 no meu caso):

  1. faça o download do scipy-0.19.1-cp36-cp36m-win32.whl em http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. crie um arquivo some.bat com conteúdo

    @echo off C:\Python36\python.exe -m pip -V C:\Python36\python.exe -m pip install scipy-0.19.1-cp36-cp36m-win32.whl C:\Python36\python.exe -m pip list pause

  3. em seguida, execute esse arquivo em lote some.bat

  4. chame o shell python "C: \ Python36 \ pythonw.exe" C: \ Python36 \ Lib \ idlelib \ idle.pyw "e teste se o scipy foi instalado com

importação scipy

Ion Stefanache
fonte
PS: Eu tenho várias versões de Phyton (2.7,3.5 e 3.6) instalados no mesmo computador com Windows 7
Ion Stefanache
0

A maneira mais fácil de instalar o scipy no Windows 10 a 100% é esta: Basta fazer o pip ====> pip install scipy==1.0.0rc2

Me agradeça mais tarde :)

George C.
fonte
A sintaxe é inválida
user2063329
user2063329 Tente PIP3
George C.
0

Eu experimentei problemas semelhantes com o Python 3.7 (3.7.0b4). Isso ocorreu devido a algumas mudanças em relação a algumas suposições de codificação (Python 3.6 >> Python 3.7)

Como resultado, muitas instalações de pacotes (por exemplo, via pip) falharam.

holzkohlengrill
fonte
0

Você pode testar esta resposta:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
Farshid Shekari
fonte