web-dev-qa-db-fra.com

Mettre à niveau scipy vers la dernière version

Je suis sous Ubuntu 14.04. J'ai scipy 0.13.3 et je voudrais le mettre à jour.

J'ai essayé:

Sudo pip3 install scipy --upgrade

mais je reçois cette erreur:

creating build/lib.linux-x86_64-3.4/scipy/_build_utils

copying scipy/_build_utils/__init__.py ->
build/lib.linux-x86_64-3.4/scipy/_build_utils

copying scipy/_build_utils/_fortran.py ->
build/lib.linux-x86_64-3.4/scipy/_build_utils

running build_clib
customize UnixCCompiler
customize UnixCCompiler using build_clib
building 'dfftpack' library
Running from scipy source directory.

"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])

"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])

"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])

"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])

"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])

"object of type 'type' has no len()" in evaluating 'len(list)'
(available names: [])

error: library dfftpack has Fortran sources but no Fortran compiler found

----------------------------------------   
Rolling back uninstall of scipy Cleaning up... 
Command /usr/bin/python3 -c "import setuptools, 
tokenize;__file__='/tmp/pip_build_root/scipy/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), file__,
'exec'))" install --record /tmp/pip-h0l8itnj-record/install-record.txt
--single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/scipy Storing debug log for failure in  /home/donbeo/.pip/pip.log 

donbeo@donbeo-HP-EliteBook-Folio-9470m:~$
python3

Comment puis-je résoudre ça? Je travaille sur une installation presque récente d'Ubuntu 14.04.

3
Donbeo

En lisant votre question, j’ai vu: comment puis-je mettre à jour scipy dans Winpython sous Windows? sur Stack Overflow que vous souhaitez mettre à jour scipy vers la version 0.14. Il existe un moyen plus simple de mettre à jour python3-scipy 0.13.3 vers python3-scipy 0.14.0 par le biais de pip3.

  1. Désinstallez python3-scipy.

    Sudo apt-get remove python3-scipy
    
  2. Téléchargez le paquet python3-scipy pour Ubuntu 14.10.
    Visitez http://packages.ubuntu.com/utopic/python3-scipy , sélectionnez la version de python3-scipy qui correspond à l'architecture de votre système d'exploitation, sélectionnez un miroir et téléchargez le Fichier python3-scipy .deb.

  3. Installez le paquet python3-scipy pour Ubuntu 14.10.
    Double-cliquez sur le fichier .deb python3-scipy que vous avez téléchargé pour l'ouvrir dans le Centre logiciel Ubuntu, puis installez-le comme n'importe quel autre paquet. Le fichier .deb python3-scipy pour Ubuntu 14.10 a les mêmes versions de paquet de dépendance que le paquet python3-scipy de Ubuntu Software Center. Il doit donc être installé sans problèmes dans Ubuntu 14.04.

Dans Ubuntu 16.04, il est possible d’installer python3-scipy 0.16.1 à partir des référentiels Ubuntu par défaut.

2
karel

J'ai eu cette même erreur sur une nouvelle installation 14.04. Je l'ai corrigé en m'assurant que toutes les dépendances scipy avaient été installées via:

Sudo apt-get install python-pip python-dev build-essential libatlas-base-dev gfortran

Je crois que c’était juste Sudo apt-get install gfortran qui était nécessaire. Si vous essayez cela en premier et laissez-nous savoir comment ça se passe, ce serait utile.

C'était à partir de ce fil: https://www.kaggle.com/c/avazu-ctr-prediction/forums/t/12478/kaggler-python-package-for-kaggler

3
Pete Florence