pip install donne "Command" python setup.py egg_info "a échoué avec le code d'erreur 1"

13

J'essaie d'installer le paquet python rpy2avec l'installation de pip sur Ubuntu 16.04:

pip install rpy2==2.2.7

mais obtenez un message d'erreur (voir la sortie complète ci-dessous):

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-EuOI6K/unroll/

La même chose se produit avec d'autres packages, comme pip install unrollou utilisant pip2. Je pensais que ce message était le même problème, mais il est résolu en utilisant sudo.

Solutions essayées

J'ai essayé des solutions dans ce poste , comme: pip install --upgrade setuptools, (sudo) easy_install -U setuptoolsou sudo apt-get install python-setuptools, mais en vain.

informations sur python / pip

Quelqu'un a suggéré que je pourrais avoir une installation python / pip bizarre, voici quelques infos:

sudo which python pip pip2 | xargs -rd '\n' readlink -f 
/usr/bin/python2.7   
/usr/local/bin/pip  
/usr/local/bin/pip2  

sudo python --version   
Python 2.7.12  

sudo pip --version  
pip 9.0.1 from /home/matifou/.local/lib/python2.7/site-packages (python 2.7)  
/usr/bin/pip2 --version  
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

ls -l $(which pip); dpkg -S /usr/bin/pip
-rwxr-xr-x 1 root root 204 Nov  8 16:24 /usr/local/bin/pip
python-pip: /usr/bin/pip

Sortie d'erreur complète

pip install rpy2 == 2.2.7  
Collecte de rpy2 == 2.2.7 Utilisation de rpy2-2.2.7.tar.gz en cache  
    Sortie complète de la commande python setup.py egg_info:
    exécution de egg_info
    création de pip-egg-info / rpy2.egg-info
    écriture pip-egg-info / rpy2.egg-info / PKG-INFO
    écrire des noms de premier niveau dans pip-egg-info / rpy2.egg-info / top_level.txt
    écriture de dependency_links dans pip-egg-info / rpy2.egg-info / dependency_links.txt
    écriture du fichier manifeste 'pip-egg-info / rpy2.egg-info / SOURCES.txt'
    Traceback (dernier appel le plus récent):
      Fichier "", ligne 1, dans 
      Fichier "/tmp/pip-build-EkrbmM/rpy2/setup.py", ligne 462, dans 
        [os.path.join ('doc', 'source', 'rpy2_logo.png')])],]
      Fichier "/usr/lib/python2.7/distutils/core.py", ligne 151, dans la configuration
        dist.run_commands ()
      Fichier "/usr/lib/python2.7/distutils/dist.py", ligne 953, dans run_commands
        self.run_command (cmd)
      Fichier "/usr/lib/python2.7/distutils/dist.py", ligne 972, dans run_command
        cmd_obj.run ()
      Fichier "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
ligne 280, en cours d'exécution
        self.find_sources ()
      Fichier "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
ligne 295, dans find_sources
        mm.run ()
      Fichier "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
ligne 526, en cours d'exécution
        self.add_defaults ()
      Fichier "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
ligne 562, dans add_defaults
        sdist.add_defaults (auto)
      Fichier "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py",
ligne 36, dans add_defaults
        self._add_defaults_ext ()
      Fichier "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py",
ligne 119, dans _add_defaults_ext
        build_ext = self.get_finalized_command ('build_ext')
      Fichier "/usr/lib/python2.7/distutils/cmd.py", ligne 312, dans get_finalized_command
        cmd_obj.ensure_finalized ()
      Fichier "/usr/lib/python2.7/distutils/cmd.py", ligne 109, dans assure_finalisé
        self.finalize_options ()
      Fichier "/tmp/pip-build-EkrbmM/rpy2/setup.py", ligne 155, dans finalize_options
        config + = get_rconfig (r_home, à propos)
      Fichier "/tmp/pip-build-EkrbmM/rpy2/setup.py", ligne 319, dans get_rconfig
        rc = RConfig.from_string (rconfig, allow_empty = allow_empty)
      Fichier "/tmp/pip-build-EkrbmM/rpy2/setup.py", ligne 279, dans from_string
        + '\ nin string \ n' + string)
    ValueError: sous-chaîne non valide
    -fopenmp
    en chaîne
    -Wl, - export-dynamic -fopenmp -Wl, -Bsymbolic-functions -Wl, -z, relro -L / usr / lib / R / lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm

La commande "python setup.py egg_info" a échoué avec le code d'erreur 1 dans / tmp / pip-build-EkrbmM / rpy2 /

installer pip dérouler
Collecting unroll   Using cached unroll-0.1.0.tar.gz
    Complete output from command python setup.py egg_info:
    Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz
    Traceback (most recent call last):
      File "", line 1, in 
      File "/tmp/pip-build-QimGjp/unroll/setup.py", line 2, in 
        ez_setup.use_setuptools()
      File "/usr/local/lib/python2.7/dist-packages/ez_setup.py", line 145, in use_setuptools
        return _do_download(version, download_base, to_dir, download_delay)
      File "/usr/local/lib/python2.7/dist-packages/ez_setup.py", line 124, in _do_download
        to_dir, download_delay)
      File "/usr/local/lib/python2.7/dist-packages/ez_setup.py", line 193, in download_setuptools
        src = urlopen(url)
      File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
        return opener.open(url, data, timeout)
      File "/usr/lib/python2.7/urllib2.py", line 435, in open
        response = meth(req, response)
      File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.7/urllib2.py", line 473, in error
        return self._call_chain(*args)
      File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
        raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 403: SSL is required

La commande "python setup.py egg_info" a échoué avec le code d'erreur 1 dans tmp / pip-
build-QimGjp / dérouler /
Matifou
la source
R est-il déjà installé?
lapisdecor
1
Essayez de l'exécuter avec le -Hdrapeau commesudo -H
George Udosen
Désolé mais c'est trop compliqué pour moi d'avoir envie d'aider quelqu'un à le démêler pour le moment. Même avec la générosité. Merci pour vos rappels.
David Foerster
Merci @George, mais malheureusement, même si sudo -Hcela ne fonctionne pas :-(
Matifou

Réponses:

4

Mettre setuptoolsà niveau en utilisantpip

La version de python-setuptoolsdans le référentiel de paquets d'Ubuntu 16.04 LTS est obsolète / non entretenue. Mettez-le à niveau avec pipau lieu de compter sur le gestionnaire de packages:

$ sudo pip install --upgrade setuptools
Serge Stroobandt
la source
1

Solution que j'ai prise pour ma propre question: les réponses proposées n'ont pas résolu le problème, j'ai donc fini par utiliser conda, créant un environnement spécifique pour le package dont j'avais besoin, et cela a fonctionné! Ce n'est pas la meilleure solution, d'autant plus qu'elle nécessite d'installer une version parallèle (tu peux utiliser miniconda pour l'espace) mais c'est une solution pratique!

Matifou
la source
1

La mise à jour setuptoolsn'a pas résolu mon problème. Cependant, dire à pip de se mettre à niveau l'a fait.

La commande suivante a résolu mon problème (à partir de cette réponse )

pip install --upgrade pip
RTbecard
la source
Merci, la mise à niveau setuptoolsn'a pas fonctionné pour moi non plus. Mais la mise à niveau piprésout le problème.
fsevenm
0

vous devez obtenir des outils de configuration et probablement des modules de développement, tapez ce qui suit

sudo apt-get install python-setuptools
sudo apt-get install python-dev

il peut être judicieux de mettre à niveau pip en premier pour vous assurer qu'il n'y a rien d'autre qu'un bon fonctionnement, cela se fait en tapant

sudo apt install python-pip

bonne chance

rhubarbdog
la source
1
Merci. Mais j'ai déjà installé ces trois, dans leur dernière version ...
Matifou