web-dev-qa-db-fra.com

L'installation pip donne "Commande" python setup.py Egg_info "a échoué avec le code d'erreur 1"

J'essaie d'installer python paquet rpy2 avec pip install 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, tels que pip install unroll, ou en utilisant pip2. Je pensais que ceci post était le même problème, mais là, il est résolu en utilisant Sudo.

Solutions essayées

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

info python/pip

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

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 rpy2 == 2.2.7 Utilisation de rpy2-2.2.7.tar.gz en cache 
 Termine la sortie de la commande python setup.py Egg_info: 
 Lance Egg_info 
 En créant pip-Egg-info/rpy2.Egg-info 
 Écrit en écrivant pip-Egg-info/rpy2.Egg-info/PKG-INFO 
 écriture des noms de premier niveau dans pip-Egg-info/rpy2.Egg-info/top_level.txt 
 écriture des liens de dépendance dans pip-Egg-info/rpy2.Egg-info/dependency_links.txt 
 écriture du fichier manifeste 'pip-Egg-info/rpy2.Egg-info/SOURCES.txt' 
 Traceback (appel le plus récent en dernier): 
 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) 
 Fil e "/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",
line 280, dans l’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, dans l'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 (self) 
 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",[.____.LINEline 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 Ensure_finalized 
 self.finalize_options () 
 Fichier "/ tmp/pip-build-EkrbmM/rpy2/setup.py ", ligne 155, dans finalize_options 
 config + = get_rconfig (r_home, about) 
 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 
 dans une 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 
 
 Command "pyt hon setup.py Egg_info "a échoué avec le code d'erreur 1 dans /tmp/pip-build-EkrbmM/rpy2/[.____.unset.____.]pip installer unroll 
 Collecter unroll Utilisation de cached unroll-0.1.0 .tar.gz 
 Sortie complète de la commande python setup.py Egg_info: 
 Téléchargement http://pypi.python.org/packages/source/d/distribute/distribute -0.6.14.tar.gz 
 Traceback (l'appel le plus récent en dernier): 
 Fichier "", ligne 1, dans 
 Fichier "/ tmp/pip-build-QimGjp/unroll/setup.py ", ligne 2, dans 
 ez_setup.use_setuptools () 
 Fichier" /usr/local/lib/python2.7/dist-packages/ez_setup.py ", ligne 145 , dans use_setuptools 
 return _do_download (version, download_base, to_dir, download_delay) 
 Fichier "/usr/local/lib/python2.7/dist-packages/ez_setup.py", ligne 124, dans _do_download 
 to_dir, download_delay) 
 Fichier "/usr/local/lib/python2.7/dist-packages/ez_setup.py", ligne 193, dans download_setuptools 
 src = urlopen (url) [.___ _.] Fichier "/usr/lib/python2.7/urllib2.py", ligne 154, dans urlopen 
 Renvoie opener.open (url, données, délai d'attente) 
 Fichier "/ usr/lib/python2.7/urllib2.py ", ligne 435, dans open 
 response = meth (req, response) 
 Fichier" /usr/lib/python2.7/urllib2.py ", ligne 548, dans http_response 
 'http', demande, réponse, code, msg, hdrs) 
 Fichier "/usr/lib/python2.7/urllib2.py", ligne 473, en erreur 
 renvoie self._call_chain (* args) 
 Fichier "/usr/lib/python2.7/urllib2.py", ligne 407, dans _call_chain 
 result = func (* args ) 
 Fichier "/usr/lib/python2.7/urllib2.py", ligne 556, dans http_error_default 
 Déclencher HTTPError (req.get_full_url (), code, msg, hdrs, fp) 
 urllib2.HTTPError: Erreur HTTP 403: SSL est requis 
 
 La commande "python setup.py Egg_info" a échoué avec le code d'erreur 1 dans tmp/pip - 
 build- QimGjp/unroll /
9
Matifou

Solution que j’ai prise pour ma propre question: les réponses proposées ne résolvaient pas le problème. J’ai donc fini par utiliser conda, créant un environnement spécifique pour le paquet dont j’avais besoin, et cela a fonctionné! C’est maintenant la meilleure solution, d’autant plus qu’il faut installer une version parallèle (vous pouvez utiliser miniconda pour l’espace), mais c’est pratique!

1
Matifou

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 commencer par mettre à niveau pip pour s’assurer qu’il n’y a que du bon fonctionnement, cela se fait en tapant

Sudo apt install python-pip

bonne chance

0
rhubarbdog

La version de python-setuptools dans le référentiel de paquets d'Ubuntu 16.04 LTS est périmée/non maintenue. Mettez-la à niveau avec pip au lieu de compter sur le gestionnaire de paquets:

$ Sudo pip install --upgrade setuptools
0
Serge Stroobandt