pip安装失败,并显示“连接错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:598)" [英] pip install fails with "connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)"

查看:140
本文介绍了pip安装失败,并显示“连接错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:598)"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚接触Python,并尝试在Windows 7上使用> pip install linkchecker.一些注意事项:

I am very new to Python and trying to > pip install linkchecker on Windows 7. Some notes:

    无论软件包如何,
  • pip安装都会失败.例如,> pip install scrapy也会导致SSL错误.
  • Python 3.4.1的香草安装包含pip 1.5.6.我尝试做的第一件事是安装linkchecker. Python 2.7已经安装,它是ArcGIS附带的.在我安装3.4.1之前,在命令行中无法使用pythonpip.
  • > pip search linkchecker有效.也许是因为点子搜索无法验证站点的SSL证书.
  • 我在公司网络中,但是我们没有通过代理访问Internet.
  • 每台公司计算机(包括我的计算机)都具有受信任的根证书颁发机构,其使用原因有多种,其中包括启用对到 https://google.com .不确定是否与此有关.
  • pip install is failing no matter the package. For example, > pip install scrapy also results in the SSL error.
  • Vanilla install of Python 3.4.1 included pip 1.5.6. The first thing I tried to do was install linkchecker. Python 2.7 was already installed, it came with ArcGIS. python and pip were not available from the command line until I installed 3.4.1.
  • > pip search linkchecker works. Perhaps that is because pip search does not verify the site's SSL certificate.
  • I am in a company network but we do not go through a proxy to reach the Internet.
  • Each company computer (including mine) has a Trusted Root Certificate Authority that is used for various reasons including enabling monitoring TLS traffic to https://google.com. Not sure if that has anything to do with it.

这是我运行pip install linkchecker后的 pip.log 的内容:

Here are the contents of my pip.log after running pip install linkchecker:

Downloading/unpacking linkchecker
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Getting page https://pypi.python.org/simple/
  Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
  Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
  Cannot fetch index base URL https://pypi.python.org/simple/
  URLs to search for versions for linkchecker:
  * https://pypi.python.org/simple/linkchecker/
  Getting page https://pypi.python.org/simple/linkchecker/
  Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
  Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
  Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
  Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
    url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
  File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
    raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker

推荐答案

-----> pip install gensim config --global http.sslVerify false

-----> pip install gensim config --global http.sslVerify false

只需使用"config --global http.sslVerify false"语句安装任何软件包

Just install any package with the "config --global http.sslVerify false" statement

您可以通过设置 pypi.org

You can ignore SSL errors by setting pypi.org and files.pythonhosted.org as trusted hosts.

$ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package_name>

注意:在2018年4月的某个时候, Python包索引已从pypi.python.org迁移到pypi.org.这意味着使用旧域的受信任的主机"命令不再起作用.

Note: Sometime during April 2018, the Python Package Index was migrated from pypi.python.org to pypi.org. This means "trusted-host" commands using the old domain no longer work.

自pip 10.0发行以来,您应该能够仅通过升级pip本身来永久解决此问题:

Since the release of pip 10.0, you should be able to fix this permanently just by upgrading pip itself:

$ pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org pip setuptools

或者只需重新安装它以获取最新版本:

Or by just reinstalling it to get the latest version:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

(…,然后使用相关的Python解释器运行get-pip.py).

(… and then running get-pip.py with the relevant Python interpreter).

pip install <otherpackage>应该在此之后工作.如果没有,那么您将需要做更多的事情,如下所述.

pip install <otherpackage> should just work after this. If not, then you will need to do more, as explained below.

您可能需要将受信任的主机和代理添加到您的配置文件.

pip.ini(Windows)或pip.conf(unix)

pip.ini (Windows) or pip.conf (unix)

[global]
trusted-host = pypi.python.org
               pypi.org
               files.pythonhosted.org


备用解决方案(安全程度较低)

大多数答案都可能带来安全问题.

Most of the answers could pose a security issue.

有助于轻松安装大多数python软件包的两种解决方法是:

Two of the workarounds that help in installing most of the python packages with ease would be:

  • 使用easy_install :如果您真的很懒,不想浪费很多时间,请使用easy_install <package_name>.请注意,将找不到某些软件包,或者会产生一些小错误.
  • 使用转盘:下载 Python包的车轮,然后使用pip命令pip install wheel_package_name.whl安装该软件包.
  • Using easy_install: if you are really lazy and don't want to waste much time, use easy_install <package_name>. Note that some packages won't be found or will give small errors.
  • Using Wheel: download the Wheel of the python package and use the pip command pip install wheel_package_name.whl to install the package.

这篇关于pip安装失败,并显示“连接错误:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:598)"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆