Pip: SSL: CERTIFICATE_VERIFY_FAILED مع Python 3.6.0

تم إنشاؤها على ٢٤ ديسمبر ٢٠١٦  ·  23تعليقات  ·  مصدر: pypa/pip

  • إصدار النقطة: 9.0.1
  • إصدار Python: 3.6.0
  • نظام التشغيل: macOS Sierra

وصف:

أحصل على خطأ في الشهادة pypi.python.org عند تشغيل pip install -U channels . لا أعرف ما إذا كانت المشكلة متعلقة بـ pip أو Python 3.6.0 أو شيء آخر. لقد جربت الاقتراحات التالية ولكن لم ينجح أي منها.

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

cacert.pem هي شهادة curl .
pip --cert /Users/user/cacert.pem install -U channels

أظن أيضًا أن المشكلة قد يكون لها علاقة بـ Python 3.6.0. لأنه ضع في اعتبارك المخرجات التالية:

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()
[]
>>> 

ما قمت بتشغيله:

(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

التعليق الأكثر فائدة

حاول تثبيت إصدار جديد من pip مباشرةً باستخدام get-pip.py (راجع https://pip.pypa.io/en/stable/installing/)

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

(بتنسيق منpradyunsg)

ال 23 كومينتر

كان لي هذه المسألة أيضا.

يبدو أن المشكلة تنبع من عدم تمكين وحدة ssl عند إنشاء Python 3.6.0.

لقد تمكنت من التغلب على هذا من خلال إلغاء تعليق الأسطر 209-212 في 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

وتأكد من تثبيت libssl-dev (هذه هي حزمة دبيان ، على أي حال).

بمجرد الانتهاء من ذلك ، قم بعمل ./configure و make و make install مرة أخرى ويجب أن تعمل.

لدي نفس المشكلة بالضبط في Python 3.5 ، أحدث 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

لقد أصلحته باستخدام معلمة المضيف الموثوق به:

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

لن أتصل بـ --trusted-host للإصلاح. في أحسن الأحوال هو حل بديل خطير. أنت تقوم بتعطيل التحقق من TLS وتفتح جهاز الكمبيوتر الخاص بك لهجمات man-in-the-middle. كان من المفترض أن يسمى الخيار --bypass-insecure-host أو ما شابه.

تكمن المشكلة هنا في أن setuptools تحاول التحدث إلى PyPI ، وليس pip ، وأن 3.6.0 على macOS لا تتمتع بإمكانية الوصول إلى حزمة CA افتراضيًا وأن أدوات setuptool لا تجمع واحدة مثل النقطة. ستحتاج إلى تثبيت شيء مثل الشهادة أو إثارة مشكلة مع setuptools.

نقطة تثبيت تزايدي

أنت بطل CallenChen

لا يزال لا يعمل ، الرجاء المساعدة ...

C: \ Windows \ system32> تثبيت Pip تزايدي
جمع تزايدي
تعذر جلب عنوان URL https://pypi.python.org/simple/incremental/ : حدثت مشكلة أثناء تأكيد شهادة SSL: فشل التحقق من شهادة [SSL: CERTIFICATE_VERIFY_FAILED] (_ssl.c: 748) - تخطي
تعذر العثور على إصدار يلبي المتطلبات المتزايدة (من الإصدارات:)
لم يتم العثور على توزيع مطابق للتزايدية

على OSX ، باستخدام macport ، يؤدي تثبيت curl-ca-bundle إلى حلها:

تثبيت منفذ sudo curl-ca-bundle

تحديث الشراب
الشراب إلغاء التثبيت openssl
تركيب المشروب opensl
echo 'export PATH = "/ usr / local / opt / openssl / bin: $ PATH"' >> ~ / .bash_profile

ماذا عن مجرد تثبيت Certifi كما هو مذكور هنا (يظهر هذا الرابط بعد وقت قصير من تثبيت Python 3.6)؟

pip install certifi

gitanupam عمل تثبيت

لم يعمل أي من الحلول بالنسبة لي. أنا على OSX

حاول تثبيت إصدار جديد من pip مباشرةً باستخدام get-pip.py (راجع https://pip.pypa.io/en/stable/installing/)

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

(بتنسيق منpradyunsg)

@ sdk21 هذا يعمل بالنسبة لي. شكرا

لست متأكدًا من السبب ، ربما بسبب عدم قبول Pypi لاتصالات http ... لكن تغيير المرآة يناسبني:

$ 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 اتصالات HTTP ولكنها أوقفت مؤخرًا دعم TLS v1.0 و v1.1. راجع https://stackoverflow.com/a/49769015/1526703

شكرا للتوضيح جيتانوبام

شكرا @ sdk21! إنه يعمل بالنسبة لي!

@ sdk21 هذا يعمل بالنسبة لي. شكرا!

@ sdk21 هذا يعمل بالنسبة لي. شكرا!

شكرا @ sdk21 حلها ...

على نظام التشغيل Mac ، فعلت هذا وأخيرًا توصلت إلى ما يلي:
https://pip.readthedocs.io/en/stable/installing/

@ sdk21 شكرًا ، إنه يعمل معي 👍

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات