Pip: SSL : CERTIFICATE_VERIFY_FAILED avec Python 3.6.0

Créé le 24 déc. 2016  ·  23Commentaires  ·  Source: pypa/pip

  • Version du pip : 9.0.1
  • Version Python : 3.6.0
  • Système d'exploitation : macOS Sierra

La description:

J'obtiens une erreur de certificat pour pypi.python.org lorsque j'exécute pip install -U channels . Je ne sais pas si le problème est lié à pip ou Python 3.6.0 ou autre chose. J'ai essayé les suggestions suivantes mais aucune n'a fonctionné.

pip --trusted-host pypi.python.org install -U channels

export PIP_CERT=/Users/user/Desktop/certificate_which_i_obtained_from_pypi_dot_python_dot_org.crt
pip install -U channels

Le cacert.pem est le certificat de curl .
pip --cert /Users/user/cacert.pem install -U channels

Je soupçonne également que le problème pourrait avoir quelque chose à voir avec Python 3.6.0. Parce que considérez la sortie suivante :

user<strong i="25">@host</strong>:~$ python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> context = ssl.create_default_context()
>>> context.cert_store_stats()
{'x509': 0, 'crl': 0, 'x509_ca': 0}
>>> context.get_ca_certs()
[]
>>> 

Ce que j'ai couru :

(virtualenv) user<strong i="29">@host</strong>:~/Documents/virtualenv$ pip install -U channels
Collecting channels
  Using cached channels-0.17.3-py2.py3-none-any.whl
Collecting asgiref>=0.13 (from channels)
  Using cached asgiref-1.0.0-py2.py3-none-any.whl
Collecting daphne>=0.14.1 (from channels)
  Using cached daphne-0.15.0-py2.py3-none-any.whl
Requirement already up-to-date: Django>=1.8 in ./lib/python3.6/site-packages (from channels)
Collecting six (from asgiref>=0.13->channels)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting twisted>=16.0 (from daphne>=0.14.1->channels)
  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/45/r4yr9bbj29dfbtxqv75_785m0000gn/T/pip-build-02d49zb3/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/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/dist.py", line 316, in __init__
        self.fetch_build_eggs(attrs['setup_requires'])
      File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/dist.py", line 371, in fetch_build_eggs
        replace_conflicting=True,
      File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 846, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1118, in best_match
        return self.obtain(req, installer)
      File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1130, in obtain
        return installer(requirement)
      File "/Users/user/Documents/virtualenv/lib/python3.6/site-packages/setuptools/dist.py", line 439, in fetch_build_egg
        return cmd.easy_install(req)
      File "/Users/user/Documents/virtualenv/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/45/r4yr9bbj29dfbtxqv75_785m0000gn/T/pip-build-02d49zb3/twisted/
(virtualenv) user<strong i="30">@host</strong>:~/Documents/virtualenv$ 

support

Commentaire le plus utile

Essayez d'installer la nouvelle version de pip directement en utilisant get-pip.py (voir https://pip.pypa.io/en/stable/installing/)

$ curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py
$ sudo python get-pip.py

(formaté par @pradyunsg)

Tous les 23 commentaires

J'ai eu ce problème aussi.

Le problème semble provenir du fait que le module ssl n'est pas activé lors de la construction de Python 3.6.0.

J'ai contourné ce problème en décommentant les lignes 209-212 dans Python-3.6.0/Modules/Setup

SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

et assurez-vous que libssl-dev est installé (c'est le paquet pour debian, de toute façon).

Une fois cela fait, faites à nouveau ./configure , make et make install et cela devrait fonctionner.

J'ai exactement le même problème sur Python 3.5, dernier OSX :

$ pip install pip --upgrade
Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720) - skipping

Je l'ai corrigé en utilisant le paramètre d'hôte de confiance :

$ pip install --trusted-host pypi.python.org pip --upgrade
Requirement already up-to-date: pip in ./venv/lib/python3.5/site-packages

Je n'appellerais pas --trusted-host un correctif. Au mieux, c'est une solution de contournement dangereuse. Vous désactivez la vérification TLS et ouvrez votre ordinateur aux attaques de l'homme du milieu. L'option aurait dû s'appeler --bypass-insecure-host ou similaire.

Le problème ici est que setuptools essaie de parler à PyPI, pas à pip, et que 3.6.0 sur macOS n'a pas accès à un bundle CA par défaut et setuptools n'en regroupe pas un comme pip. Vous devrez installer quelque chose comme certifi ou soulever un problème avec setuptools.

installation pip incrémentielle

Tu es un héros @CallenChen

Ça ne marche toujours pas, aidez moi s'il vous plait...

C:\Windows\system32>installation pip incrémentielle
Collecte incrémentale
Impossible de récupérer l'URL https://pypi.python.org/simple/incremental/ : un problème est survenu lors de la confirmation du certificat SSL : [SSL : CERTIFICATE_VERIFY_FAILED] Échec de la vérification du certificat (_ssl.c :748) - ignoré
Impossible de trouver une version qui satisfait à l'exigence incrémentielle (à partir des versions : )
Aucune distribution correspondante n'a été trouvée pour les incréments

sur OSX, en utilisant macport, l'installation de curl-ca-bundle résout le problème :

installation du port sudo curl-ca-bundle

brasser la mise à jour
brasser désinstaller openssl
brasser installer openssl
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

que diriez-vous d'installer simplement certifi comme mentionné ici (ce lien apparaît peu de temps après l'installation de Python 3.6) ?

pip install certifi

@gitanupam L'installation de certifi a fonctionné pour moi.

aucune des solutions n'a fonctionné pour moi. je suis sous OSX

Essayez d'installer la nouvelle version de pip directement en utilisant get-pip.py (voir https://pip.pypa.io/en/stable/installing/)

$ curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py
$ sudo python get-pip.py

(formaté par @pradyunsg)

@ sdk21 cela fonctionne pour moi. Merci

Je ne sais pas pourquoi, peut-être parce que Pypi n'accepte plus les connexions http... Mais changer le miroir fonctionne pour moi :

$ cat ~/.config/pip/pip.conf
[global]
proxy = http://my-proxy:8080
index-url = http://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

PyPI accepte les connexions HTTP mais a récemment arrêté la prise en charge de TLS v1.0 et v1.1. Voir https://stackoverflow.com/a/49769015/1526703

Merci pour la clarification, @gitanupam

Merci @sdk21 ! Ça marche pour moi!

@ sdk21 Cela fonctionne pour moi. Merci!

@ sdk21 Cela fonctionne pour moi. Merci!

Merci @ sdk21 de le résoudre ...

sur mac, j'ai fait ceci et j'ai finalement travaillé:
https://pip.readthedocs.io/en/stable/installing/

@ sdk21 merci, ça marche pour moi 👍

Cette page vous a été utile?
0 / 5 - 0 notes