Pip: SSL:Python3.6.0でCERTIFICATE_VERIFY_FAILED

作成日 2016年12月24日  ·  23コメント  ·  ソース: pypa/pip

  • Pipバージョン:9.0.1
  • Pythonバージョン:3.6.0
  • オペレーティングシステム:macOSSierra

説明:

pip install -U channelsを実行すると、 pypi.python.org証明書エラーが発生します。 問題が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

また、この問題はPython3.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

最も参考になるコメント

get-pip.pyを使用して新しいバージョンのpipを直接インストールしてみてください(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件

私もこの問題を抱えていました。

この問題は、Python3.6.0のビルド時にsslモジュールが有効になっていないことに起因しているようです。

Python-3.6.0 / Modules / Setupの209-212行のコメントを外すことでこれを回避しました

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

libssl-devがインストールされていることを確認してください(とにかく、これはdebian用のパッケージです)。

それが完了したら、 ./configuremake 、および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検証を無効にし、コンピューターを中間者攻撃にさらします。 オプションは--bypass-insecure-hostまたは同様のものと呼ばれるべき

ここでの問題は、setuptoolsがpipではなくPyPIと通信しようとしていること、およびmacOS上の3.6.0がデフォルトでCAバンドルにアクセスできないこと、およびsetuptoolsがpipのようにCAバンドルをバンドルしないことです。 certifiのようなものをインストールするか、setuptoolsで問題を提起する必要があります。

pipインストールインクリメンタル

あなたはヒーローです@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 port install curl-ca-bundle

醸造の更新
brewアンインストールopenssl
brew install openssl
echo'export PATH = "/ usr / local / opt / openssl / bin:$ PATH" '>>〜/ .bash_profile

ここで述べたようにcertifiをインストールするのはどうですか(このリンクはPython 3.6をインストールした直後に表示されます)?

pip install certifi

@gitanupamcertifiのインストールは私のために働いた。

どの解決策も私にはうまくいきませんでした。 私はOSXを使用しています

get-pip.pyを使用して新しいバージョンのpipを直接インストールしてみてください(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接続を受け入れていますが、最近TLSv1.0およびv1.1のサポートを停止しました。 https://stackoverflow.com/a/49769015/1526703を参照してください

明確化してくれてありがとう、 @ gitanupam

ありがとう@ sdk21! わたしにはできる!

@ sdk21これは私のために働きます。 ありがとう!

@ sdk21これは私のために働きます。 ありがとう!

ありがとう@ sdk21それを解決します...

Macでは、これを実行して最終的に解決しました。
https://pip.readthedocs.io/en/stable/installing/

@ sdk21ありがとう、それは私のために働きます👍

このページは役に立ちましたか?
0 / 5 - 0 評価