web-dev-qa-db-fra.com

Comment installer numpy et scipy pour python?

Je suis fatigué d’essayer d’installer numpy et scipy pour phyton 2.7.5, j’ai besoin de cette version de python car mon objectif final est d’installer la classe ( http://class-code.net / ) et montepython ( http://montepython.net/ ).

(J'ai Ubuntu 12.04)

Lorsque j'essaie d'importer numpy ou scipy, l'erreur suivante s'affiche à chaque fois:

$ phyton2.7
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
  import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
  from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
  from type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
  import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
  import multiarray
ImportError: /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined        symbol: PyUnicodeUCS4_AsUnicodeEscapeString

>> import scipy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/scipy/__init__.py", line 78, in <module>
  from numpy import show_config as show_numpy_config
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
  import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
  from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
  from type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
  import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
  import multiarray
ImportError: /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString

Afin de me débarrasser de l'erreur j'avais essayé:

  1. Satisfaire à la condition python: $ Sudo apt-get install build-essential python-dev gfortran
  2. Installer avec apt-get: $ Sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
  3. Installation requise avec pip: $ Sudo pip install requests
  4. ... et essayé d'installer avec pip: $ Sudo pip install numpy et $ Sudo pip install scipy
  5. J'ai déjà l'environnement var: export PYTHONPATH=/usr/lib/python2.7/dist-packages:${PYTHONPATH} La dernière fois que j'ai installé numpy et scipy (dans l'ancienne version 10.b), cela fonctionnait pour moi.
  6. Sudo sh -c "wget http://python-distribute.org/distribute_setup.py -O- | python"Sudo sh -c "wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py -O- | python" puis installez-les tous les deux avec pip comme dans (4)

    Mais maintenant, il semble que le serveur de python-distribute.org soit en panne. J'ai eu l'erreur suivante:

    http://python-distribute.org/distribute_setup.py
    Resolving python-distribute.org (python-distribute.org)... failed: Name or service not known.
    wget: unable to resolve Host address `python-distribute.org'
    
  7. J'avais aussi essayé d'installer numpy et scipy à partir du logiciel Synaptic et du centre logiciel Ubuntu

J'avais échoué dans chacune de ces tentatives et maintenant je ne sais pas quoi faire. Est-ce que je manque quelque chose? Comment obtenir numpy et scipy correctement installés pour python? Toute idée sera appréciée.

quand je fais

echo $PYTHONPATH

Je reçois

/usr/lib/python2.7/dist-packages
36
Jorge

Ok, suivons le guide d'installation :

  1. Il dit que vous avez besoin de python 2.7 (que vous avez déjà):

    $ python --version
    Python 2.7.4
    
  2. Ensuite, il est indiqué que vous avez également besoin du paquet numpy, version> = 1.4.1:

     politique d'apt-cache python-numpy 
     python-numpy: 
     installé: (aucun) 
     candidat: 1: 1.7.1-1ubuntu1. 
     Tableau des versions: 
     1: 1.7.1-1ubuntu1 0 
     500 http://archive.ubuntu.com/ubuntu/ raring/main Packages AMD64

    Comme vous pouvez le constater, j’ai la version 1.7.1 de numpy disponible, nous allons donc procéder à son installation:

    Sudo apt-get install python-numpy
    
  3. Maintenant, il est dit que nous avons besoin de cython, vérifions si ce paquet est disponible:

    politique d'apt-cache cython 
     cython: 
     installé: (aucun) 
     Candidat: 0.17.4-0ubuntu1 
     Tableau de versions: 
     0.17.4 -0ubuntu1 0 
     500 http://archive.ubuntu.com/ubuntu/ raring/main Packages AMD64

    Nous l'avons, nous l'installons:

    Sudo apt-get install cython
    

    S'il vous plaît, notez qu'il y a d'autres paquets qui sont des dépendances qui sont également installés.

  4. Curieusement, nous avons également besoin du module scipy:

    Sudo apt-get install python-scipy
    
  5. Test . Ouvrez python dans un terminal et tapez ce qui suit:

    $ python
    Python 2.7.4 (default, Sep 26 2013, 03:20:26) 
    [GCC 4.7.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>> import scipy
    >>> import cython
    >>> exit()
    

    Ce qui précède doit être sans erreur. Si quelque chose ne va pas, relisez le guide et relisez-le, vous avez oublié/sauté une étape.

  6. En téléchargeant les sources CLASS à partir de leur page, accédez au répertoire du terminal, décompressez-le et effectuez-le:

    cd où/le/tar/est 
     tar zxf class_v2.0.2.tar.gz 
     cd class_v2.0.2 
     make

    Ici, nous attendrons que ce soit terminé. Une fois que cela est fait, nous allons dans le répertoire python et commençons la magie. Sans quitter les répertoires, lancez ceci:

    cd python 
     python setup.py construire 
     python setup.py install --user

    Nous avons maintenant CLASS installé dans notre répertoire utilisateur. Nous devrions le tester!

    python
    Python 2.7.4 (default, Sep 26 2013, 03:20:26)
    [GCC 4.7.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from classy import Class
    >>> exit()
    

    Tout est gentil un cozzy jusqu'à ici.

  7. Maintenant le temps de la vérité, téléchargez monthypython dans le répertoire de votre code:

    cd ~ 
     code mkdir 
     code cd 
     wget https://www.dropbox.com/s/l7mnhwsktp1m8b5/montepython_v1.2.5.tar.bz2?dl=1 -O montepython_v1 .2.5.tar.bz2 
     Tar jxf montepython_v1.2.5.tar.bz2

    Dans les instructions d'installation quelques notes qui ne sont pas pertinentes dans ce cas particulier (une nouvelle installation), mais cela peut être important lorsque vous mettez à jour montepython.

  8. Ce changement est important. Vous vous rappelez où vous avez installé CLASS? Maintenant, vous devriez dire à Monte Python où cela se trouve. Dans mon cas, il s'agit de /home/braiam/src/class_v2.0.2/class, le vôtre peut être différent. Vous pouvez utiliser find pour le rechercher:

    find ~ -name class -print
    

    Eh bien, maintenant je modifie le fichier default.conf en utilisant ce que vous voulez (je vais utiliser nano) et modifie le chemin root, de sorte que le fichier complet ressemble à ceci:

    # Fill in the relevant path to your personal distribution. 
    # If you create a new file out of this one, please remember to call
    # MontePython.py with the option '-conf my.conf'
    
    # At minimum, this file should contain one line:
    # ** path['cosmo'] =  path to the cosmological code you are using. Note, if you are
    # using a modified version of class, be sure that the path contains the Word
    # class, otherwise the code might not recognise it.
    
    # If you want to use a data folder different from the one present in the folder
    # you are executing the code, please also add:
    # ** path['data']  =  /path/to/the/other/data/
    
    root = '/home/braiam/src/class_v2.0.2/'
    
    path['cosmo']           = root+'/class/'
    

    Enregistrez le fichier et quittez.

  9. Testez montepython! Si tout s'est bien passé, vous devriez pouvoir exécuter code/MontePython.py --help dans votre répertoire montepythong et tout devrait fonctionner:

    ~/src/montepython $ code/MontePython.py --help 
     utilisation: MontePython.py [-h] [-N nombre d'étapes] [-o dossier de sortie] 
     [-p entrée fichier de paramètres] [-c matrice de cov en entrée] 
     [-j méthode de saut] [-f facteur de saut] 
     [-conf fichier de configuration] [-chain_number numéro de chaîne] 
     [ -r redémarrer à partir de la chaîne] [-bf redémarrer à partir du fichier le mieux ajusté] 
     [-info [informations de calcul du fichier souhaité [informations de calcul du fichier souhaité ...]]] 
     [-bins souhaités nombre de bacs, la valeur par défaut est 20] [-no_mean] 
     [-comp comparaison dossier] 
     [-extra fichier de tracé pour les besoins personnalisés] [-noplot] [-all] 
     [-ext change l'extension pour le fichier de sortie] 
     [-fontsize la taille de police désirée, la valeur par défaut est 15] 
     [-ticksize la taille désirée, la valeur par défaut est 13] 
     
     Monte Python, un code de Monte Carlo en P ython 
     
     arguments facultatifs: 
     - h, --aide à afficher ce message d’aide et à quitter 
     - N nombre d’étapes 
     - o dossier de sortie 
     - p fichier de paramètres d'entrée 
     - c matrice de cov en entrée 
     - j méthode de saut 
     - f facteur de saut 
     - fichier de configuration conf. 
     - numéro_chaîne numéro de chaîne 
     - r redémarrer à partir de la chaîne 
     - bf redémarrer à partir du fichier le mieux ajusté 
     - info [informations de calcul du fichier souhaité [informations de calcul du fichier souhaité ... ]] 
     - nombre de bacs souhaité, valeur par défaut: 20 
     - no_mean 
     - dossier de comparaison des comp. 
     - fichier de tracé supplémentaire pour les besoins personnalisés 
     -noplot 
     - all 
     - extension de changement externe pour le fichier de sortie 
     - taille de la police de caractères de la taille de police désirée, valeur par défaut de 15 
     - taille de la taille souhaitée, 13 par défaut

Avec ceci, vous avez installé montepython et prêt à rouler!

41
Braiam