web-dev-qa-db-fra.com

Erreur d'installation tordue 1 de Pip

Lors de l'utilisation de pip install Twisted dans virtualenv sur Mac osx 10.9.4, j'obtiens ce résultat:

Command "python setup.py Egg_info" failed with error code 1 in /private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-doynftp7/twisted/

Je ne sais pas comment résoudre. J'ai utilisé easy_install, mais j'obtiens un problème de vérification SSL. Quelqu'un a un problème similaire? Le reste du message d'erreur est ci-dessous.

 Collecting twisted
 Using cached Twisted-16.6.0.tar.bz2
 Complete output from command python setup.py Egg_info:
Download error on https://pypi.python.org/simple/incremental/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
Couldn't find index page for 'incremental' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
No local packages or working download links found for incremental>=16.10.1
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-lqvxc68n/twisted/setup.py", line 21, in <module>
    setuptools.setup(**_setup["getSetupArgs"]())
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/dist.py", line 317, in __init__
    self.fetch_build_eggs(attrs['setup_requires'])
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/dist.py", line 372, in fetch_build_eggs
    replace_conflicting=True,
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 851, in resolve
    dist = best[req.key] = env.best_match(req, ws, installer)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1123, in best_match
    return self.obtain(req, installer)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1135, in obtain
    return installer(requirement)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/dist.py", line 440, in fetch_build_Egg
    return cmd.easy_install(req)
  File "/Users/Complex-Cauchy/1/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 668, in easy_install
    raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')
 ----------------------------------------

Command "python setup.py Egg_info" failed with error code 1 in /private/var/folders/9r/3b500gbs3093ms87mqqbckr80000gn/T/pip-build-lqvxc68n/twisted/

Fonctionnement openssl s_client -showcerts -connect pypi.python.org:443 renvoie ce qui suit:

 CONNECTED(00000003)
 depth=1 /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended     Validation Server CA
 verify error:num=20:unable to get local issuer certificate
 verify return:0
 ---
 Certificate chain
  0 s:/businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=3359300/street=16 Allen    Rd/postalCode=03894-4801/C=US/ST=NH/L=Wolfeboro/O=Python Software Foundation/CN=www.python.org
  i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
  -----BEGIN CERTIFICATE-----
  MIIIWjCCB0KgAwIBAgIQCXCW7BLw16II/CMOsOFe/jANBgkqhkiG9w0BAQsFADB1
  ..
 -----END CERTIFICATE-----
 1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended Validation Server CA
 i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV Root CA
 -----BEGIN CERTIFICATE-----
MIIEtjCCA56gAwIBAgIQDHmpRLCMEZUgkmFf4msdgzANBgkqhkiG9w0BAQsFADBs
....
-----END CERTIFICATE-----
 Server certificate
 subject=/businessCategory=Private Organization/1.3.6.1.4.1.311.60.2.1.3=US/1.3.6.1.4.1.311.60.2.1.2=Delaware/serialNumber=3359300/street=16 Allen Rd/postalCode=03894-4801/C=US/ST=NH/L=Wolfeboro/O=Python Software Foundation/CN=www.python.org
issuer=/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert SHA2 Extended  Validation Server CA
---
No client certificate CA names sent
---
SSL handshake has read 3524 bytes and written 456 bytes
---
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol  : TLSv1
Cipher    : AES128-SHA
Session-ID: BC7695FF86D2B82B20468A13E3F3E13AE23776B500E64665305EEBAF49BB54D1
Session-ID-ctx: 
Master-Key:8D25B34237A3C74E90317D87BA74A2AAF0E8C424FB2ADE3D72E5F234D5E043C4527641290B928B3A22 1BE7D44116CFB1
Key-Arg   : None
Start Time: 1487035770
Timeout   : 300 (sec)
Verify return code: 0 (ok)
28
Johnathan Mackney

J'ai eu le même problème sur un Mac OSX 10.11.6 dans un nouveau virtualenv avec une nouvelle installation de Python3.6.1. Dans mon cas, j'avais d'anciennes versions de la dépendance Twisted incremental installées, ce qui a empêché l'installation.

pip install --upgrade incremental
pip install Twisted

Remarque I: J'installais toute une série de packages à partir d'un fichier d'exigences où la même version incrémentale était spécifiée. Je me demande vraiment pourquoi la mise à niveau incrémentielle a aidé et je n'ai aucune idée de ce qui s'est réellement passé. Si quelqu'un peut clarifier, ce serait formidable.

Remarque II: L'installation incrémentielle avant Twisted semble également être nécessaire sur les nouvelles installations [Expérimenté lorsque vous travaillez avec CentOS7].

Note III: Le problème a été communiqué à l'incroyable communauté Twisted et une fois Twisted ticket # 9457 est implémenté et dans la version ce question et ma réponse devrait devenir obsolète.

38
fabianegli

L'erreur que vous avez signalée est incomplète. Il y a presque certainement plus de détails au-dessus dans la sortie pip. Il serait utile de les modifier dans votre question.

Une enquête sur des questions similaires:

Suggère que:

  • Il vous manque des setuptools. À l'intérieur d'un virtualenv (vous avez activé votre virtualenv, non?) Cela semble invraisemblable.
  • Il vous manque une partie de la chaîne d'outils C - un compilateur, certains en-têtes nécessaires, etc. Twisted inclut des extensions C, donc cela semble possible. Avez-vous une chaîne d'outils C?
  • Vous utilisez une version incompatible de Python. Quelle version de Python utilisez-vous?

Mais les erreurs supplémentaires d'échec de vérification de certificat que vous avez incluses suggèrent que cela n'est pas causé par l'une de ces erreurs. Au lieu de cela, une dépendance ne peut pas être téléchargée car pip ne peut pas effectuer de négociation TLS avec le serveur PyPI dont elle a besoin pour télécharger la dépendance.

Cela pourrait être dû à de nombreuses choses différentes. Les navigateurs de votre système peuvent-ils charger https://pypi.python.org/? Si ce n'est pas le cas, il y a peut-être quelque chose qui ne va pas à l'échelle du système: vous pouvez avoir des certificats d'autorité de certification obsolètes ou une attaque de l'homme du milieu peut avoir lieu.

openssl s_client peut parfois être utile pour déboguer des problèmes comme ceux-ci. Essayer:

openssl s_client -showcerts -connect pypi.python.org:443

Cela peut vous donner plus de détails sur ce qui se passe au niveau de la couche TLS. Si openssl s_client a également du mal à vérifier le certificat, vous savez qu'il y a un problème à l'échelle du système. Sinon, nous pouvons le réduire à un pip ou Python.

3
Jean-Paul Calderone

FWIW J'obtenais la même erreur bidon en essayant d'installer twisted:

distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')

Dans mon cas, j'avais accidentellement installé un ancien setuptools qui gâchait pip. Il venait d'un python setup.py install d'une archive tar zfec 1.4.22.

J'ai corrigé cela en supprimant ce setuptools (rm -rf /usr/local/lib/python2.7/dist-packages/setuptools-0*). Cela a permis au pip install twisted au travail et m'a permis de spécifier une version (twisted==18.9.0). Les anciens setuptools provoquaient également l'installation de la dernière version torsadée de 19 dans certaines situations.

0
jamshid