web-dev-qa-db-fra.com

Mise à niveau vers numpy 1.8.0 sur Ubuntu 12.04

J'utilise Ubuntu 12.04 qui est fourni par défaut avec NumPy 1.6.0 (J'ai en fait eu , Python 2.7.3 installée). À la suite de la réponse à cette question polyfit () a obtenu un argument de mot clé inattendu 'w' , je dois le mettre à niveau.

J'ai téléchargé le .tar.gz package pour la version 1.8.0 de ici , décompressé, déplacé à l'intérieur du dossier et exécutez les commandes:

python setup.py build --fcompiler=gnu95
python setup.py install --user

comme décrit dans le guide de l'utilisateur et dans cette question: Construire NumPy 1.7.1 sur Ubunt .

Il en est résulté que NumPy ne se charge plus dans Spyder, ce qui affiche maintenant l'erreur:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/spyderlib/scientific_startup.py", line 16, in <module>
    from pylab import *  #analysis:ignore
  File "/usr/local/lib/python2.7/dist-packages/pylab.py", line 1, in <module>
    from matplotlib.pylab import *
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/__init__.py", line 165, in <module>
    from matplotlib.rcsetup import (defaultParams,
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/rcsetup.py", line 20, in <module>
    from matplotlib.colors import is_color_like
  File "/usr/local/lib/python2.7/dist-packages/matplotlib/colors.py", line 52, in <module>
    import numpy as np
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/__init__.py", line 153, in <module>
    from . import add_newdocs
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 8, in <module>
    from .type_check import *
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in <module>
    import numpy.core.numeric as _nx
  File "/home/gabriel/.local/lib/python2.7/site-packages/numpy/core/__init__.py", line 6, in <module>
    from . import multiarray
ImportError: /home/gabriel/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS2_FromUnicode

lors du chargement. La même chose s'est produite lorsque j'ai essayé avec la version 1.7.1.

J'ai essayé de supprimer numpy avec:

Sudo apt-get remove python-numpy

qui a également supprimé matplotlib et scipy. Alors j'ai essayé de les réinstaller avec:

Sudo apt-get install python-numpy python-scipy python-matplotlib

mais cela échoue avec l'erreur:

    from sre_constants import *
  File "/usr/local/lib/python2.7/sre_constants.py", line 18, in <module>
    from _sre import MAXREPEAT
ImportError: cannot import name MAXREPEAT

Il ne me reste plus aucun exécutable python et je ne sais même pas comment revenir à la version stable précédente. Donc la question: puis-je installer au moins la version 1.7.1 dans mon système et sinon, comment puis-je revenir à un travail 1.6.0 version? Merci.

16
Gabriel
Sudo pip install numpy --upgrade

fera la même chose avec un peu moins d'effort.

50
TheGrimmScientist

Ok, j'ai donc essayé:

pip uninstall numpy

qui a renvoyé:

Successfully uninstalled numpy

Alors j'ai fait:

pip install numpy

mais il a dit:

Requirement already satisfied (use --upgrade to upgrade): numpy in /home/gabriel/.local/lib/python2.7/site-packages
Cleaning up...

donc apparemment il était toujours là. J'ai supprimé le contenu de ce dossier, puis j'ai simplement fait:

Sudo pip install numpy

Cela a fonctionné comme un monstre magique. Maintenant j'ai NumPy 1.8.0, SciPy 0.12.0, Matplotlib 1.2.1 installé et tout fonctionne comme il se doit.

8
Gabriel