IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

installation de rpy-1.0.3 RuntimeError("Couldn't obtain version number from output\n" RuntimeError


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut installation de rpy-1.0.3 RuntimeError("Couldn't obtain version number from output\n" RuntimeError
    Bonjour à tous,
    hello world, c'est la première fois que je mets les pieds dans le forum python

    Je suis en train d'installer le module rpy, du moins j'essaye
    J'obtiens l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    python setup.py install
    RHOMES= []
    DEBUG= True
    Setting RHOMES to  ['/usr/local/lib/R']
    Traceback (most recent call last):
      File "setup.py", line 109, in <module>
        RVERSION = rpy_tools.get_R_VERSION(RHOME, force_exec=True)
      File "/home/bmasson/rpy-1.0.3/rpy_tools.py", line 103, in get_R_VERSION
        raise RuntimeError("Couldn't obtain version number from output\n"
    RuntimeError: Couldn't obtain version number from output
    of `R --version'.
    J'ai suivi le README et effectué les instructions préconisées mais en vain :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Then, configure the path to the R library.  You have several ways to do
        this (substitute RHOME with the path where R is installed, usually
        /usr/local/lib/R):
     
    	o make a link to RHOME/bin/libR.so in /usr/local/lib or /usr/lib, then
              run 'ldconfig',
     
    	o or, put the following line in your .bashrc (or equivalent):
     
                export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:RHOME/bin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lrwxrwxrwx  1 root root      28 May 30 16:31 libR.so -> /usr/local/lib/R/lib/libR.so
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/R/bin
    Pour finir :
    Voici le résultat de la commande lorsque j'effectue R --version :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    R --version
    R version 2.13.0 (2011-04-13)
    Copyright (C) 2011 The R Foundation for Statistical Computing
    ISBN 3-900051-07-0
    Platform: i686-pc-linux-gnu (32-bit)
    Est ce que quelqu'un peut m'aider ?

    merci d'avance,
    ben

  2. #2
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    je ne pourrais pas t'aider au delà de ce que je vais te dire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Traceback (most recent call last):
      File "setup.py", line 109, in <module>
        RVERSION = rpy_tools.get_R_VERSION(RHOME, force_exec=True)
      File "/home/bmasson/rpy-1.0.3/rpy_tools.py", line 103, in get_R_VERSION
        raise RuntimeError("Couldn't obtain version number from output\n"
    RuntimeError: Couldn't obtain version number from output
    of `R --version'.
    Il faut aller explorer le fichier rpy_tools.py à la ligne 103. En fait, un peu plus haut que cette ligne pour analyser la condition qui lève l'exception, peut-être est-ce simplement une étourderie. Auquel cas, la résolution pourrait être triviale. Il n'y a aucune garantie que cela soit le cas, mais la potentielle facilité de résolution d'une telle erreur fait que cela vaut le coup de regarder.

  3. #3
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    Salut N;tox et merci de ta réposne,
    voici l'extrait du fichier setup.py :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     # configure the R paths                                                                                                                   
        #if sys.platform=="darwin":                                                                                                               
        #  version =                                                                                                                              
        #  if os.symlink("/Library/Frameworks/R.framework/Versions/Current")                                                                      
        #  if RHOME.endswith('/'):                                                                                                                
        #    RHOME = RHOME[:-1]                                                                                                                 
        #  print "RHOME=",os.path.join(os.path.dirname(RHOME),                                                                                    
        #                              os.readlink(RHOME) )                                                                                       
        #  sys.exit()                                                                                                                             
    
    
        RVERSION = rpy_tools.get_R_VERSION(RHOME, force_exec=True)
        RVER     = rpy_tools.get_R_VERSION_CODE(RVERSION)
    La ligne 109 est en gras
    J'avais essayé de remplacé la ligne 109 par :
    L'erreur disparait mais l'étape de compilation crash

  4. #4
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Je t'invite à relire mon post précédent :
    Il faut aller explorer le fichier rpy_tools.py à la ligne 103. En fait, un peu plus haut que cette ligne

  5. #5
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    Voici l'extrait de rpy_tools.py :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     # step 2: Try executing R to determine the version                                                                                          
      if not rver:
        if (not RHOME) or (not os.path.exists(RHOME)):
          RHOME = get_R_HOME(force_exec)
    
        rexec = os.path.join(RHOME, 'bin', 'R')
        stat, output = getstatusoutput('"%s" --version' % rexec )
        if stat or len(output)<=0:
          raise RuntimeError("Couldn't execute the R interpreter" +
                             " `%s'.\n" % rexec )
        # edd 05 Apr 2006  version = re.search("R +([0-9]\.[0-9]\.[0-9])", output)                                                                
        version = re.search(" +([0-9]\.[0-9]\.[0-9])", output)
        if not version:
          raise RuntimeError("Couldn't obtain version number from output\n"
                                   "of `R --version'.\n")
        rver = version.group(1)
    
      return rver.strip()
    Visiblement, le module rpy ne détermine pas ma version de R ..

  6. #6
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Oui, c'est bien ce que dit le message d'erreur. Tu peux néanmoins ajouter des print pour essayer de mieux voir pourquoi ça couille, et si ça se joue simplement au niveau de la regex employée, ou si c'est autre chose encore.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     # step 2: Try executing R to determine the version                                                                                          
      if not rver:
        if (not RHOME) or (not os.path.exists(RHOME)):
          RHOME = get_R_HOME(force_exec)
    
        rexec = os.path.join(RHOME, 'bin', 'R')
        stat, output = getstatusoutput('"%s" --version' % rexec )
        print 'BEGIN DEBUG : \n\tstat : %s\n\t%s\nEND DEBUG'%(stat,output)
        if stat or len(output)<=0:
          raise RuntimeError("Couldn't execute the R interpreter" +
                             " `%s'.\n" % rexec )
        # edd 05 Apr 2006  version = re.search("R +([0-9]\.[0-9]\.[0-9])", output)                                                                
        version = re.search(" +([0-9]\.[0-9]\.[0-9])", output)
        if not version:
          raise RuntimeError("Couldn't obtain version number from output\n"
                                   "of `R --version'.\n")
        rver = version.group(1)
    
      return rver.strip()

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/05/2011, 15h37
  2. pb installation RPy
    Par louba63 dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 12/06/2008, 08h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo