No se puede instalar Scipy a través de pip


119

Al instalar scipy a través de pip con:

pip install scipy

Pip no puede construir scipy y arroja el siguiente error:

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

¿Cómo puedo hacer que scipy construya con éxito? Este puede ser un problema nuevo con OSX Yosemite ya que acabo de actualizar y no he tenido problemas para instalar scipy antes.


Registro de depuración:

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

Intente usar 'sudo pip install scipy'
Piotr Dabkowski

@PiotrDabkowski Instalé Python a través de Homebrew, por lo que no debería necesitar usar sudo. Además, ¿por qué sudo ayudaría en el paso de compilación? Puedo ver usándolo si arrojó permiso denegado o algo así.
agconti

¿Está seguro de que el error no se debe a un problema de permisos?
Piotr Dabkowski

Los usuarios de Windows pueden ver mi respuesta aquí
Statham

Para Centos, asegúrese de tener lapack-devel; si no, yum install lapack-devel
Divyank Shukla

Respuestas:


106

Después de abrir un problema con el equipo de SciPy, descubrimos que necesita actualizar pip con:

pip install --upgrade pip

Y en Python 3esto funciona:

python3 -m pip install --upgrade pip

para que SciPy se instale correctamente. ¿Por qué? Porque:

Se debe indicar a las versiones anteriores de pip que utilicen ruedas, IIRC con --use-wheel. O puede actualizar pip en sí, entonces debería levantar las ruedas.

La actualización de pip resuelve el problema, pero es posible que también pueda usar la --use-wheelbandera.


11
Esto funcionó para mí, pero también tuve que instalar los paquetes sugeridos por Lukesudo apt-get install libatlas-base-dev gfortran
BenB

Tuve que eliminar la versión anterior de pip antes de actualizar. Entonces funcionó perfectamente.
Autónomo

1
Además, en mi instalación 14.04 perfectamente nueva, también tuve que hacerlosudo apt-get install python-dev
BenB

90

Los usuarios de Microsoft Windows de las instalaciones de Python de 64 bits deberán descargar .whlScipy de 64 bits desde aquí , luego simplemente cden la carpeta en la que descargó el .whlarchivo y ejecutar:

pip install scipy-0.16.1-cp27-none-win_amd64.whl

28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Relojero

15
@gugol Quizás ya lo haya intentado, pero debe asegurarse de que los números después de cp coincidan con su versión de Python (por ejemplo, cp34 = 3.4) y que amd64 / win32 sea correcto.
fdsa

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.Voy al directorio y trato de ejecutarlo y luego aparece un error. Luego cambio el nombre del archivo, trato de ejecutarlo y obtengo otro error. El método no funciona ...
user32882

Veo el mismo problema que @ user32882. ¿Qué es lo que estamos haciendo mal?
gen

@gugol Tuve el mismo problema, la nota de @ Cyclotron3x3 me ayudó; el -cp27nombre del archivo se refiere a la versión de python, tuve que encontrar el archivo con -cp36el nombre del archivo para que coincida con mi versión de Python: 3.6.
Benson

59

Me enfrento al mismo problema cuando instalo Scipy en ubuntu.
Tuve que usar el comando:

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

Puede obtener más detalles aquí Instalando SciPy con pip
Lo siento, no sé cómo hacerlo en OS X Yosemite.


Esto resolvió el problema que tenía al usar "Bash en Ubuntu en Windows 10".
Coxy

41

En Windows 10, la mayoría de las opciones no funcionarán. Sigue estos pasos:

En Windows 10 con CMD, no se puede descargar scipydirectamente a través de la mayor parte de los comandos también conocido como wget, cloning scipy github, pip install scipy, etc.

Para instalar, vaya a los archivos pythonlibs .whl , y si está usando python 2.7 32 bit, descargue numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlo python 2.7 62 bitdescarguenumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

Después de descargar, guarde los archivos debajo de su python directory, en mi caso fuec:\>python27

Entonces corre:

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. scipynecesidades numpycomo dependencia, por eso estamos descargando numpyantes scipy.
  2. cp27en archivos .whl significa que estos archivos están destinados python 2.7y cp33representan python 3.xespecialmente> = 3.3

¡Funcionó como por arte de magia! :) Probé todas las demás soluciones pero fallaron (Windows 10, Python 2.7 de 32 bits)
U. Muneeb

Esto funcionó para mí en win 10 con Python 3.5 y 64b machine 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 respuesta resolvió el problema en mi caso (Windows 8.1), pero también necesitaba descargar e instalar numpy + mkl wheel. Haga esto si obtiene un ImportError "NUMPY_MKL" al intentar importar scipy después de seguir esta respuesta. Créditos a @VMAtm .
Renato Byrro

Para Python 3.6.2 en el uso de Windows 10scipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry

¡Gracias! Para usar imread, necesitaba instalar Pillow también --pip install Pillow
ilimitado

13

Después de encontrar esta respuesta para algunas pistas, conseguí que esto funcionara haciendo

brew install gcc 
pip install scipy

(El primero de estos pasos tomó 96 minutos en mi Mac Book Air 2011, ¡así que espero que no tengas prisa!)


De hecho, no pude hacerlo brew install gcc. Terminó arrojando un montón de errores. Pero después de trabajar con los chicos de Scipy; Encontré una solución. ¡Gracias por tu respuesta!
agconti

En realidad, esta resultó ser la solución sencilla para mí. Termina sin construir e instalar el kit scipy descargado. :)
Sean

Esto funcionó para mí, y solo tomó unos segundos para el primer paso
André Fratelli

9

Si es totalmente nuevo en Python, lea paso a paso o vaya directamente al último paso. Siga el método siguiente para instalar scipy 0.18.1 en Windows de 64 bits, Python de 64 bits. Si el siguiente comando no funciona, continúe

pip install scipy

Tenga cuidado con las versiones de

  1. Pitón

  2. Ventanas

  3. .whl versión de archivos numpy y scipy

  4. Primero instale numpy y 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

Tenga en cuenta el nombre del archivo (verifique el número de versión).

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

Para comprobar qué versión es compatible con su pip, vaya al punto 2 a continuación.

Si está utilizando el archivo .whl. Es probable que se produzcan los siguientes errores.

  1. Está utilizando la versión 7.1.0 de pip, sin embargo, la versión 8.1.2 está disponible.

Debería considerar la actualización a través del comando 'python -m pip install --upgrade pip'

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl no es compatible con la rueda en esta plataforma

Para el error anterior: inicie Python y escriba:

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

Salida:

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

En la salida, observará que cp35 está ahí, así que descargue cp35 para numpy y scipy. Las ediciones adicionales son bienvenidas.



6

En lugar de tomar la ruta más difícil de descargar paquetes específicos. Prefiero ir por la ruta más rápida de usar Conda. pip tiene sus problemas.

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

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

símbolo del sistema

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

Plan de paquete para la instalación en el entorno C: \ Users \ xyz \ Miniconda3:

Se instalarán los siguientes paquetes NUEVOS:

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

Los siguientes paquetes serán SUPERCIDOS por un canal de mayor prioridad:

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


4

Esta es una alternativa a pip . También tuve el mismo error al instalar scipy con pip.

Luego descargué e instalé MiniConda . Y luego utilicé el siguiente comando para instalar pytables.

conda install -c conda-forge scipy

Consulte la siguiente captura de pantalla.

ingrese la descripción de la imagen aquí


3

el mejor método que puedo sugerir es este

  1. Descargue el archivo de rueda de esta ubicación para su versión de Python

  2. Mueva el archivo a su unidad principal, por ejemplo, C:>

  3. Ejecute Cmd e ingrese lo siguiente

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

Tenga en cuenta que esta es la versión que estoy usando para mi pyhton 3.6.2, debería instalarse bien

es posible que desee ejecutar este comando después para asegurarse de que todos sus complementos de Python estén actualizados

pip list --outdated

1

Alternativamente, descargue y ejecute manualmente la versión http://www.lfd.uci.edu/~gohlke/pythonlibs Scipy adecuada para usted. Considere su versión de Python (python --version) y la arquitectura de su sistema (32/64 bit) . Elija la versión Scipy en consecuencia. scipy-0.18.1- cp27 -cp27m- win32 - para Python 2.7 32 bit scipy-0.18.1- cp27 -cp27m- win_amd64 - para Python 2.7 64 bit De lo contrario, el error scipy-0.15.1-cp33-none-win_amd64.whl .whl no es compatible. La rueda en esta plataforma aparecerá en la instalación.

Ahora cambie el directorio al archivo descargado y ejecute el comando pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl (cambie el nombre del archivo apropiadamente)

He agregado esta respuesta solo porque la respuesta de Arun (que me resultó útil) no ha mencionado nada sobre la coincidencia de 32/64 bits a la que me he enfrentado.


0

Si está utilizando CentOS, debe instalar lapack-devel así:

 $ yum install lapack-devel



0

Estaba teniendo el mismo problema y había logrado usar sudo.

$ sudo pip install scipy

0

La forma más sencilla es mediante los siguientes pasos: Arreglar scipy para python [2.n <python <3.n]

Descargue los archivos necesarios de: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Descargue la versión de numpy + mkl (necesaria para ejecutar scipy) y luego descargue scipy para su tipo de python (2.n python escrito como 2n) o (3.n python escrito como 3n), n es una variable. Tenga en cuenta que debe saber si tiene un procesador de 32 bits o de 64 bits.

Cree un directorio en algún lugar de su computadora, por ejemplo [C: \ DIRECTORY] para instalar los archivos numpy + mkd.whl y scipy.whl

Una vez que ambos archivos se hayan descargado, busque la ubicación del archivo en su computadora y muévalo al directorio que creó.

Ejemplo: se necesita la primera instalación del archivo para que scipy esté en

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

Ejemplo: la instalación del segundo archivo está en

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

Vaya a su símbolo del sistema y continúe con el siguiente ejemplo para una versión 2.n de Python:

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

debería instalar

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

debería instalar

Pruebe ambos módulos en su python IDLE de la siguiente manera:

import numpy

import scipy

los módulos funcionan si no se devuelven errores.

IFDAAS


¿Es esta respuesta específica de Windows, ya que el interrogador está en OS X Yosemite?
Ari Cooper-Davis

0

Para windows (7 en mi caso):

  1. descargar scipy-0.19.1-cp36-cp36m-win32.whl de http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. crea un archivo some.bat con contenido

    @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. luego ejecute este archivo por lotes some.bat

  4. llame al shell de Python "C: \ Python36 \ pythonw.exe" C: \ Python36 \ Lib \ idlelib \ idle.pyw "y pruebe si scipy se instaló con

importar scipy


PD: Tengo varias versiones de Phyton (2.7,3.5 y 3.6) instaladas en la misma computadora bajo Windows 7
Ion Stefanache

0

La forma fácil de instalar scipy en Windows 10 al 100% es la siguiente: solo pip esto ====> pip install scipy==1.0.0rc2

Agradéceme después :)


La sintaxis no es válida
user2063329

user2063329 Prueba pip3
George C.


0

Puedes probar esta respuesta:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.