Impossible d'installer Scipy via pip

119

Lors de l'installation de scipy via pip avec:

pip install scipy

Pip ne parvient pas à construire scipy et lève l'erreur suivante:

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

Comment puis-je faire construire avec succès scipy? Cela peut être un nouveau problème avec OSX Yosemite car je viens de mettre à niveau et je n'ai jamais eu de problèmes pour installer scipy auparavant.


Journal de débogage:

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
la source
Essayez d'utiliser 'sudo pip install scipy'
Piotr Dabkowski
@PiotrDabkowski J'ai installé python via homebrew donc je ne devrais pas avoir besoin d'utiliser sudo. Aussi, pourquoi sudo aiderait-il à l'étape de construction? Je peux voir l'utiliser s'il a jeté l'autorisation refusée ou quelque chose.
agconti
Êtes-vous sûr que l'erreur n'est pas causée par un problème d'autorisation?
Piotr Dabkowski
Les utilisateurs de Windows peuvent voir ma réponse ici
Statham
Pour Centos, assurez-vous d'avoir lapack-devel sinon installez lapack-devel
Divyank Shukla

Réponses:

106

Après avoir ouvert un problème avec l'équipe SciPy, nous avons constaté que vous devez mettre à niveau pip avec:

pip install --upgrade pip

Et dans Python 3ce travail:

python3 -m pip install --upgrade pip

pour que SciPy s'installe correctement. Pourquoi? Car:

Il faut dire aux anciennes versions de pip d'utiliser des roues, IIRC avec --use-wheel. Ou vous pouvez mettre à niveau le pip lui-même, alors il devrait ramasser les roues.

La mise à niveau de pip résout le problème, mais vous pourrez peut-être également utiliser l' --use-wheelindicateur.

agconti
la source
11
Cela a fonctionné pour moi - mais j'ai également dû installer les packages suggérés par Lukesudo apt-get install libatlas-base-dev gfortran
BenB
J'ai dû supprimer l'ancienne version de pip avant la mise à niveau. Ensuite, cela a parfaitement fonctionné.
Autonome
1
De plus, sur mon installation 14.04 parfaitement fraîche, je devais aussisudo apt-get install python-dev
BenB
90

Les utilisateurs Microsoft Windows d'installations Python 64 bits devront télécharger le 64 bits .whlde Scipy à partir d' ici , puis simplement cddans le dossier où vous avez téléchargé le .whlfichier et exécutez:

pip install scipy-0.16.1-cp27-none-win_amd64.whl
ConorB
la source
28
scipy-0.16.1-cp27-none-win_amd64.whl is not a supported wheel on this platform.
Horloger
15
@gugol Peut-être avez-vous déjà essayé cela, mais vous devez vous assurer que les nombres après cp correspondent à votre version de python (par exemple cp34 = 3.4) et que amd64 / win32 est correct.
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.Je cd dans le répertoire essaie de l'exécuter puis j'obtiens une erreur. Ensuite, je change le nom du fichier, essayez de l'exécuter, obtenez une autre erreur. La méthode ne fonctionne pas ...
user32882
Je vois le même problème que @ user32882. Qu'est-ce que nous faisons de mal?
gen
@gugol J'ai eu le même problème, la note de @ Cyclotron3x3 m'a aidé; le -cp27dans le nom du fichier fait référence à la version de python, j'ai dû trouver le fichier avec -cp36dans le nom du fichier pour correspondre à ma version de Python: 3.6.
Benson
59

Je rencontre le même problème lors de l'installation de Scipy sous ubuntu.
J'ai dû utiliser la commande:

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

Vous pouvez obtenir plus de détails ici Installation de SciPy avec pip
Désolé, je ne sais pas comment le faire sous OS X Yosemite.

Chris Cheng
la source
Cela a résolu le problème que j'avais en utilisant "Bash sur Ubuntu sous Windows 10".
Coxy
41

Dans Windows 10, la plupart des options ne fonctionneront pas. Suivez ces étapes:

Dans Windows 10 avec CMD, vous ne pouvez pas télécharger scipydirectement en utilisant la plupart des commandes bien connues comme wget, cloning scipy github, pip install scipy, etc.

Pour installer, accédez aux fichiers pythonlibs .whl , et si vous utilisez, python 2.7 32 bittéléchargez numpy-1.11.2rc1+mkl-cp27-cp27m-win32.whl and scipy-0.18.1-cp27-cp27m-win32.whlou python 2.7 62 bittéléchargez ensuitenumpy-1.11.2rc1+mkl-cp27-cp27m-win_amd64.whl and scipy-0.18.1-cp27-cp27m-win_amd64.whl

Après le téléchargement, enregistrez les fichiers sous votre python directory, dans mon cas, c'étaitc:\>python27

Puis exécutez:

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

Remarque:

  1. scipybesoins numpyque la dépendance, c'est pourquoi nous téléchargent numpyavant scipy.
  2. cp27dans les fichiers .whl signifie que ces fichiers sont destinés python 2.7et cp33signifie python 3.xspécifiquement> = 3,3
Cyclotron3x3
la source
Cela a fonctionné comme un charme! :) J'ai essayé toutes les autres solutions mais a échoué (Windows 10, Python 2.7 32 bits)
U. Muneeb
Cela a fonctionné pour moi sur win 10 avec Python 3.5 et 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
Cette réponse a résolu le problème dans mon cas (Windows 8.1), mais j'avais également besoin de télécharger et d'installer la molette numpy + mkl . Faites cela si vous obtenez une erreur ImportError "NUMPY_MKL" lorsque vous essayez d'importer scipy après avoir suivi cette réponse. Crédits à @VMAtm .
Renato Byrro
Pour Python 3.6.2 sur Windows 10, utilisezscipy-0.19.1-cp36-cp36m-win_amd64.whl
Dmitry
Merci !, pour utiliser imread, je devais également installer Pillow --pip install Pillow
illimité
13

Après avoir trouvé cette réponse pour quelques indices, je l'ai fait fonctionner en faisant

brew install gcc 
pip install scipy

(La première de ces étapes a pris 96 minutes sur mon Mac Book Air 2011, j'espère donc que vous n'êtes pas pressé!)

Liz Rice
la source
J'étais en fait incapable de le faire brew install gcc. Cela a fini par lancer un tas d'erreurs. Mais après avoir travaillé avec les gars de Scipy; J'ai trouvé une solution. Merci pour votre réponse!
agconti
Cela s'est avéré être la solution la plus simple pour moi. Finissez par ne pas construire et installer le kit scipy téléchargé. :)
Sean
Cela a fonctionné pour moi, et cela n'a pris que quelques secondes pour la première étape
André Fratelli le
9

Si vous êtes totalement novice en python, lisez étape par étape ou passez directement à la dernière étape. Suivez la méthode ci-dessous pour installer scipy 0.18.1 sur Windows 64 bits, Python 64 bits. Si la commande ci-dessous ne fonctionne pas, continuez

pip install scipy

Soyez prudent avec les versions de

  1. Python

  2. les fenêtres

  3. Version .whl des fichiers numpy et scipy

  4. Installez d'abord numpy et scipy.

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

Soyez conscient du nom du fichier (vérifiez le numéro de version).

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

Pour vérifier quelle version est prise en charge par votre pip, allez au point No 2 ci-dessous.

Si vous utilisez un fichier .whl. Les erreurs suivantes sont susceptibles de se produire.

  1. Vous utilisez la version 7.1.0 de pip, mais la version 8.1.2 est disponible.

Vous devriez envisager de mettre à niveau via la commande 'python -m pip install --upgrade pip'

  1. scipy-0.15.1-cp33-none-win_amd64.whl.whl n'est pas pris en charge la roue sur cette plate-forme

Pour l'erreur ci-dessus: démarrez Python et tapez:

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

Production:

[('cp35', 'cp35m', 'win_amd64'), ('cp35', 'none', 'win_amd64'), ('py3', 'none', 'win_amd64'), ('cp35', 'none ',' n'importe quel '), (' cp3 ',' aucun ',' n'importe quel '), (' py35 ',' aucun ',' n'importe quel '), (' py3 ',' aucun ',' n'importe quel '), ( 'py34', 'aucun', 'n'importe lequel'), ('py33', 'aucun', 'n'importe quel'), ('py32', 'aucun', 'n'importe quel'), ('py31', 'aucun', 'any'), ('py30', 'none', 'any')]

Dans la sortie, vous verrez que cp35 est là, alors téléchargez cp35 pour numpy ainsi que scipy. D'autres modifications sont les bienvenues.

Arun Naudiyal
la source
9

Pour Windows 10

C: \ répertoire> pip install scipy-0.19.0rc2-cp35-cp35m-win_amd64.whl

Ayudh Hande
la source
6

Plutôt que de suivre la voie la plus difficile du téléchargement de packages spécifiques. Je préfère utiliser la voie la plus rapide de Conda. pip a ses problèmes.

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

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

invite de commande

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

Plan de package pour l'installation dans l'environnement C: \ Users \ xyz \ Miniconda3:

Les NOUVEAUX packages suivants seront INSTALLÉS:

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

Les packages suivants seront SUPERCÉDÉS par un canal de priorité plus élevée:

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

Continuer ([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
la source
5
  1. Téléchargez SciPy depuis http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. Accédez au répertoire dans lequel se trouve le fichier téléchargé et pip installau fichier.
  3. Allez dans le shell python, exécutez import scipy; cela a fonctionné pour moi sans erreur.
Box et Cox
la source
4

Ceci est une alternative à pip . J'ai également eu la même erreur lors de l'installation de scipy avec pip.

Ensuite, j'ai téléchargé et installé MiniConda . Et puis j'ai utilisé la commande ci-dessous pour installer pytables.

conda install -c conda-forge scipy

Veuillez vous référer à la capture d'écran ci-dessous.

entrez la description de l'image ici

Tharindu Kumara
la source
3

la meilleure méthode que je pourrais suggérer est celle-ci

  1. Téléchargez le fichier de roue à partir de cet emplacement pour votre version de python

  2. Déplacez le fichier sur votre disque principal, par exemple C:>

  3. Exécutez Cmd et entrez ce qui suit

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

Veuillez noter que c'est la version que j'utilise pour mon pyhton 3.6.2, il devrait s'installer correctement

vous voudrez peut-être exécuter cette commande après pour vous assurer que tous vos modules complémentaires python sont à jour

pip list --outdated
Kobra
la source
1

Vous pouvez également télécharger et exécuter manuellement la http://www.lfd.uci.edu/~gohlke/pythonlibs Scipy version qui vous convient. Considérez votre version Python (python --version) et votre architecture système (32/64 bits) . Choisissez la version Scipy en conséquence. scipy-0.18.1- cp27 -cp27m- win32 - pour Python 2.7 32 bits scipy-0.18.1- cp27 -cp27m- win_amd64 - pour Python 2.7 64 bits Sinon l'erreur scipy-0.15.1-cp33-none-win_amd64.whl .whl n'est pas pris en charge La roue sur cette plate-forme apparaîtra lors de l'installation.

Maintenant, changez de répertoire pour le fichier téléchargé et exécutez la commande pip install scipy-0.15.1-cp33-none-win_amd64.whl.whl(changez le nom du fichier de manière appropriée)

J'ai ajouté cette réponse uniquement parce que la réponse d'Arun (jugée utile par moi-même) n'a rien mentionné sur la correspondance 32/64 bits que j'ai rencontrée.

Nipun Thathsara
la source
0

Si vous utilisez CentOS, vous devez installer lapack-devel comme ceci:

 $ yum install lapack-devel
Nazilla
la source
0

Essayez de télécharger le fichier scipy à partir du lien ci-dessous

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

Ce sera un fichier .exe et il vous suffira de l'exécuter. Mais assurez-vous de choisir la version scipy correspondant à votre version python.

Lorsque le fichier scipy.exe est exécuté, il localisera le répertoire python et sera installé.

u_found_me
la source
0

J'avais le même problème et j'avais réussi à utiliser sudo.

$ sudo pip install scipy
Zico
la source
0

Le moyen le plus simple consiste à suivre les étapes suivantes: Correction de scipy pour python [2.n <python <3.n]

Téléchargez les fichiers nécessaires sur: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Téléchargez la version de numpy + mkl (nécessaire pour exécuter scipy) puis téléchargez scipy pour votre type python (2.n python écrit comme 2n) ou (3.n python écrit comme 3n), n est une variable. Notez que vous devez savoir si vous avez un processeur 32 bits ou 64 bits.

Créez un répertoire quelque part sur votre ordinateur, exemple [C: \ DIRECTORY] pour installer les fichiers numpy + mkd.whl et scipy.whl

Une fois les deux fichiers téléchargés, recherchez l'emplacement du fichier sur votre ordinateur et déplacez-le vers le répertoire que vous avez créé.

Exemple: la première installation de fichier est nécessaire pour que scipy soit dans

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

Exemple: l'installation du deuxième fichier est en cours

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

Accédez à votre invite de commande et suivez l'exemple suivant pour une version 2.n de python:

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

devrait installer

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

devrait installer

Testez les deux modules sur votre python IDLE comme suit:

import numpy

import scipy

les modules fonctionnent si aucune erreur n'est renvoyée.

IFDAAS

Groupe Ifdaas
la source
Cette réponse est-elle spécifique à Windows, car le questionneur est sur OS X Yosemite?
Ari Cooper-Davis
0

Pour Windows (7 dans mon cas):

  1. téléchargez scipy-0.19.1-cp36-cp36m-win32.whl depuis http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  2. créer un fichier some.bat avec du contenu

    @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. puis exécutez ce fichier de commandes some.bat

  4. appelez le shell python "C: \ Python36 \ pythonw.exe" C: \ Python36 \ Lib \ idlelib \ idle.pyw "et testez si scipy a été installé avec

importer scipy

Ion Stefanache
la source
PS: J'ai plusieurs versions de Phyton (2.7, 3.5 et 3.6) installées sur le même ordinateur sous Windows 7
Ion Stefanache
0

Le moyen simple d'installer scipy sur Windows 10 à 100% est le suivant: Il suffit de piper ceci ====> pip install scipy==1.0.0rc2

Remercie moi plus tard :)

George C.
la source
La syntaxe n'est pas valide
user2063329
user2063329 Try pip3
George C.
0

J'ai rencontré des problèmes similaires avec Python 3.7 (3.7.0b4). Cela était dû à quelques changements concernant certaines hypothèses d' encodage (Python 3.6 >> Python 3.7)

En conséquence, de nombreuses installations de paquets (par exemple via pip) ont échoué.

holzkohlengrill
la source
0

Vous pouvez tester cette réponse:

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