我对Python非常陌生,并试图在Windows 7上安装链接检查器。一些注意事项:

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的内容:

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

使用——cert参数:

您可以使用以下命令指定证书:

pip --cert <path/to/cert>.pem install <package list>

例如:

pip --cert /etc/ssl/certs/FOO_Root_CA.pem install linkchecker

参见:文档»参考指南»pip

如果指定您公司的根证书不起作用,也许cURL证书可以工作:http://curl.haxx.se/ca/cacert.pem

必须使用PEM文件,而不是CRT文件。如果你有一个CRT文件,你将需要将文件转换为PEM。评论中有报告说,这现在与CRT文件一起工作,但我还没有验证。

还要检查:SSL证书验证。


您可以尝试使用http而不是https来绕过SSL错误。当然,这在安全性方面并不是最优的,但如果你赶时间,它应该可以做到:

pip install --index-url=http://pypi.python.org/simple/ linkchecker

我通过删除我的pip并安装旧版本的pip来解决这个问题: https://pypi.python.org/pypi/pip/1.2.1


在64位Windows 7企业版上尝试使用ActivePython 2.7.8、ActivePython 3.4.1和“库存”Python 3.4.2安装pip ftputil时遇到同样的问题。所有尝试都失败了,错误与OP相同。

通过降级到pip 1.2.1来解决Python 3.4.2的问题:easy_install pip==1.2.1(参见https://stackoverflow.com/a/16370731/234235)。同样的修复也适用于ActivePython 2.7.8。

2013年3月报告的这个漏洞仍然存在:https://github.com/pypa/pip/issues/829。


我最近遇到了这个问题,因为我公司的网页内容过滤器使用自己的证书颁发机构,以便它可以过滤SSL流量。在我的情况下,PIP似乎没有使用系统的CA证书,产生了您提到的错误。后来,将PIP降级到1.2.1版本也出现了一系列问题,所以我回到了Python 3.4附带的原始版本。

我的解决方法非常简单:使用easy_install。要么它不检查certs(就像旧的PIP版本一样),要么它知道使用系统certs,因为它每次都对我有效,我仍然可以使用PIP卸载安装在easy_install中的包。

如果这不起作用,并且您可以访问没有问题的网络或计算机,您总是可以设置自己的个人PyPI服务器:如何在没有镜像的情况下创建本地自己的PyPI存储库索引?

在尝试使用easy_install作为最后的努力之前,我几乎是这样做的。


我使用easy_install安装了pip 1.2.1,并升级到pip的最新版本(当时是6.0.7),该版本能够在我的情况下安装包。

easy_install pip==1.2.1
pip install --upgrade pip

我发现最直接的方法是下载和使用“DigiCert高保证EV根CA”从DigiCert https://www.digicert.com/digicert-root-certificates.htm#roots

您可以访问https://pypi.python.org/,通过点击地址栏中的锁图标来验证证书颁发者,或者通过使用openssl来增加您的极客信用:

$ openssl s_client -connect pypi.python.org:443
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
 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

证书链中的最后一个CN值为需要下载的CA的名称。

为了一次性的努力,请执行以下操作:

从DigiCert下载对照表 将CRT转换为PEM格式 2 .将PIP_CERT环境变量导出到PEM文件所在路径下

(最后一行假设您正在使用bash shell),然后运行pip。

curl -sO http://cacerts.digicert.com/DigiCertHighAssuranceEVRootCA.crt 
openssl x509 -inform DES -in DigiCertHighAssuranceEVRootCA.crt -out DigiCertHighAssuranceEVRootCA.pem -text
export PIP_CERT=`pwd`/DigiCertHighAssuranceEVRootCA.pem

要使其可重用,请放入digicerthighassurance anceevrootca。然后在~/.bashrc中导出相应的PIP_CERT。


pip install gensim config --global http.sslVerify false

只需安装任何带有“config——global http. conf”的包。sslVerify false”语句

可以通过将pypi.org和files.pythonhosted.org以及旧的pypi.python.org设置为可信主机来忽略SSL错误。

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

注意:在2018年4月的某个时候,Python包索引从pypi.python.org迁移到pypi.org。这意味着使用旧域的“可信主机”命令不再有效,但您可以同时添加这两个命令。

永久解决

自从pip 10.0发布以来,你应该可以通过升级pip本身来永久地修复这个问题:

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

或者重新安装以获得最新版本:

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

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

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


您可能希望将受信任主机和代理添加到配置文件中。

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

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

替代解决方案(不太安全)

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

有两个变通方法可以帮助您轻松安装大多数python包:

使用easy_install:如果您真的很懒,不想浪费太多时间,请使用easy_install <package_name>。注意,有些包找不到,或者会出现小错误。 使用Wheel:下载python包的Wheel,使用pip命令pip install wheel_package_name。WHL安装包。


您可以通过以下方法解决CERTIFICATE_VERIFY_FAILED问题:

Use HTTP instead of HTTPS (e.g. --index-url=http://pypi.python.org/simple/). Use --cert <trusted.pem> or CA_BUNDLE variable to specify alternative CA bundle. E.g. you can go to failing URL from web-browser and import root certificate into your system. Run python -c "import ssl; print(ssl.get_default_verify_paths())" to check the current one (validate if exists). OpenSSL has a pair of environments (SSL_CERT_DIR, SSL_CERT_FILE) which can be used to specify different certificate databasePEP-476. Use --trusted-host <hostname> to mark the host as trusted. In Python use verify=False for requests.get (see: SSL Cert Verification). Use --proxy <proxy> to avoid certificate checks.

阅读更多:TLS/SSL包装套接字对象-验证证书。


Kenorb的回答非常有用(而且很棒!) 在他的解决方案中,这可能是最简单的一个: ——可信主机

例如,在这种情况下你可以这样做

pip install --trusted-host pypi.python.org linkchecker

pem文件(或任何其他文件)是不必要的。


对我来说,这是因为以前我正在运行脚本,设置代理(到提琴手),重新打开控制台或重新启动修复问题。


你可以试着忽略“https”:

pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org  [your package..]

为了一劳永逸地解决这个问题,您可以验证您有一个pip.conf文件。

根据文档,这是你的pip.conf应该在的地方:

在Unix上,默认的配置文件是:$HOME/.config/pip/pip.conf,它尊重XDG_CONFIG_HOME环境变量。 在macOS上,如果$HOME/Library/Application Support/pip目录存在,则配置文件为$HOME/.config/pip/pip.conf 在Windows上,配置文件是%APPDATA%\pip\pip.ini。

在virtualenv内部:

在Unix和macOS上,文件是$VIRTUAL_ENV/pip.conf 在Windows上,文件是:%VIRTUAL_ENV%\pip.ini

你的pip.conf应该是这样的:

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

pip install linkchecker在我创建pip.conf文件后安装linkchecker,没有抱怨。


最近我在visual studio 2015的python 3.6中遇到了同样的问题。在花了2天之后,我得到了解决方案,它对我来说很好。

我在尝试使用pip或从visual studio安装numpy时出现以下错误 收集numpy 无法获取URL https://pypi.python.org/simple/numpy/:有一个问题确认ssl证书:[ssl: CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:748) -跳过 无法找到满足numpy要求的版本(from versions:) 没有为numpy找到匹配的分布

解决方法:

Windows操作系统

open -> "%appdata%"如果不存在,创建pip文件夹。 在pip文件夹中创建“pip.ini”文件。 编辑文件并写入 (全球) trusted.host = pypi.python.org 保存并关闭文件。现在安装 使用pip/visual studio可以很好地工作。


对我来说,所有建议的方法都不起作用——使用cert、HTTP、trusted-host。

在我的例子中,切换到不同版本的包是可行的(在本例中是paho-mqtt 1.3.1,而不是paho-mqtt 1.3.0)。

看来问题只针对那个版本。


在我的例子中,我在最小的alpine docker映像中运行Python。缺少根CA证书。解决办法:

Apk更新& Apk添加ca-certificates


如果您的系统中缺少某些证书,则可能会遇到此问题。在opensuse上安装ca-certificates-mozilla


一种解决方案(适用于Windows)是在%AppData%\pip\文件夹上创建一个名为pip.ini的文件(如果不存在则创建该文件夹),并插入以下细节:

[global]
cert = C:/certs/python_root.pem
proxy = http://my_user@my_company.com:my_password@proxy_ip:proxy_port

...然后我们可以执行安装指令:

pip3 install PyQt5

另一种选择是使用代理和证书的参数来安装包…

$ pip3 install --proxy http://my_user@my_company.com:my_password@proxy_ip:proxy_port \
   --cert C:/certs/python_root.pem PyQt5

转换证书*。Cer文件到所需的*。Pem格式执行如下指令:

$ openssl x509 -inform der -in python_root.cer -out python_root.pem

希望这能帮助到一些人!


这个页面上的任何东西都不适合我,直到我使用——verbose选项看到它想要获得files.pythonhosted.org而不是pypi.python.org:

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

所以通过——verbose选项检查它失败的URL。


你有4个选择:

使用证书作为参数

$ pip install --cert /path/to/mycertificate.crt linkchecker

使用pip.conf中的证书

创建这个文件:

$HOME/.pip/pip.conf (Linux)

%HOME%\pip\pip.ini (Windows)

然后加上这几行:

[global]
cert = /path/to/mycertificate.crt

忽略证书并使用HTTP

$ pip install --trusted-host pypi.python.org linkchecker

忽略证书,在pip.conf中使用HTTP

创建这个文件:

$HOME/.pip/pip.conf (Linux)

%HOME%\pip\pip.ini (Windows)

然后加上这几行:

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

https://pip.pypa.io/en/latest/user_guide/#configuration


到现在为止,当pip升级到10,现在他们已经把路径从pypi.python.org更改为files.pythonhosted.org 请将命令更新为pip——trusted-host files.pythonhosted.org install python_package


首先,

    pip install --trusted-host pypi.python.org <package name>

对我没用。我一直得到CERTIFICATE_VERIFY_FAILED错误。然而,我在错误消息中注意到他们引用了“pypi.org”站点。因此,我使用this作为可信主机名,而不是pypi.python.org。这句话几乎把我带到了那里;使用CERTIFICATE_VERIFY_FAILED加载仍然失败,但在稍后的时间点。找到了失败的网站的引用,我把它作为一个可信任的主机。最终对我有用的是:

    pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package name>

要使用的答案

pip install --trusted-host pypi.python.org <package>

工作。但你必须检查是否有重定向或缓存pip正在击中。在安装了pip 9.0.1的Windows 7上,我必须运行

pip install \
  --trusted-host pypi.python.org \
  --trusted-host pypi.org \
  --trusted-host files.pythonhosted.org \
  <package>

您可以使用verbose标志找到这些。


答案非常相似,而且有点令人困惑。在我的案例中,我公司网络中的证书是问题所在。我能够使用以下方法来解决这个问题:

pip install --trusted-host files.pythonhosted.org --trusted-host pypi.org --trusted-host pypi.python.org oauthlib -vvv

如图所示。如果不需要详细输出,-vvv参数可以省略


沃斯坦的回答帮助了我。

我在我的电脑上找不到pip.ini文件。接下来的事情也是如此。

进入AppData文件夹。您可以通过打开命令提示符并输入echo % appdata %来获取appdata文件夹

或者在windows资源管理器中输入%AppData%。

在appdata文件夹中创建一个名为pip的文件夹。 在刚才创建的pip文件夹中,创建一个名为pip.ini的简单文本文件 使用您选择的简单编辑器在该文件中执行以下配置设置。

pip.ini文件:

[list]
format=columns

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

现在应该可以开始了。


时间和日期设置正确!

对我来说,树莓派上的日期和时间配置错误。结果是使用https://files.pythonhosted.org/服务器的所有SSL和HTTPS连接都失败了。

像这样更新:

sudo date -s "Wed Thu  23 11:12:00 GMT+1 2018"
sudo dpkg-reconfigure tzdata

或者直接与谷歌的时间连用:

Ref。https://superuser.com/a/635024/935136

sudo date -s "$(curl -s --head http://google.com | grep ^Date: | sed 's/Date: //g')"
sudo dpkg-reconfigure tzdata

对我来说,创建一个文件夹就解决了这个问题 Pip,有一个文件:Pip .ini 在 C:\Users\ <用户名> \ AppData \ \徘徊 例句:

C:\Users\<username>\AppData\Roaming\pip\pip.ini

我在信里写道:

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

我重新启动python,然后pip永久信任这些站点,并使用它们下载包。

如果你在windows上找不到AppData文件夹,在文件资源管理器中写入% AppData %,它就会出现。


如果您使用make手动安装Python,则必须遵循以下答案:https://stackoverflow.com/a/42798679/6403406以使其工作。


永久解决

pip install --upgrade pip --trusted-host pypi.org --trusted-host files.pythonhosted.org

如:

pip install <package name> --trusted-host pypi.org --trusted-host files.pythonhosted.org

我不确定这是否相关,但我有一个类似的问题,通过将这些文件从Anaconda3/Library/bin复制到Anaconda3/ dll来修复:

libcrypto-1_1-x64.dll

libssl-1_1-x64.dll


在我的情况下,这是由于SSL证书是由我公司的内部CA签署的。使用像pip——cert这样的变通方法并没有帮助,但是下面的包可以:

pip install pip_system_certs

参见:https://pypi.org/project/pip-system-certs/

这个包修补pip并在运行时请求使用来自默认系统存储的证书(而不是捆绑的certs ca)。 这将允许pip验证tls/ssl连接到您的系统安装信任的服务器。


我也遇到过类似的问题。对我有效的解决方法 1)卸载python 2.7 2)删除python27文件夹 3)重新安装最新的python


如果你使用的是虚拟环境,我会推荐使用这个解决方案,

Pyenv install (wanted_python_version)


简短的回答

如果在家里使用公司的机器时遇到这种情况,在工作时再试一次。

细节

我周末遇到了这个。Pip和conda都坏了,无法安装或更新。SO很有帮助,但在公司机器上,许多答案都有问题——解决方案需要pip install(已经不能工作)或需要下载安装程序(我想下载的安装程序被防火墙设置禁止)。

对我有效的是当我上预科的时候再试一次。这很有效。事实证明,在家庭和工作中使用这台机器时,公司防火墙的设置是不同的。


短期解决方案:

easy_install <package name>

例如:

easy_install pandas

替代解决方案:

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

例子:

pip install pandas --trusted-host pypi.org --trusted-host files.pythonhosted.org

TLDR:

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org -r requirements.txt -vvv

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org <packageName> -vvv

所以,我已经有了30多个问题的答案,但在2020年6月(封锁期间),什么都对我没用。 这些都是在过去的不同时刻被给予的。我将努力让这个答案在未来的任何时候都适用。 问题是,当pip安装包时,它会尝试连接存储包的主机URL,并且在下载时不相信URL。

有两种方法可以解决这个问题: 容易的,不安全的: 1. 检查哪个URL被pip击中下载包。

pip install <packageName> -vvv

如果你仔细检查输出,你会发现它可能会指向一些URL,比如pypi.org或者pypi.python.org。

如果是,只需添加可信主机选项到命令如下:

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org <packageName> -vvv

或者如果你使用的是需求文件:

pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org -r requirements.txt -vvv

安全的方法:

转到这些URL并下载它们的公共证书(只要谷歌如何下载),创建一个链,将其存储为.pem文件,并运行以下命令:

pip --cert YourPemFile.pem install <packageName>

如果您正在使用Anaconda,并且只有在环境中运行pip时才会遇到此问题,则可能需要重新安装python。

在需要的环境中运行conda install python。


不要跳过!找到Linux的安全解决方案

所有使用——trusted-host将pypi.org添加到可信站点的解决方案都是不安全的,基本上跳过了https,并没有真正解决问题。 每个使用这种方法的人,请尝试以这种方式更新您的证书,并删除——trusted-host标志:

sudo yum -y update ca-certificates
export PIP_CERT=/etc/ssl/certs/ca-bundle.crt 

安全很重要!


我尝试了这个回答博客中提供的大多数解决方案,但是没有一个有效,我在尝试安装python包时遇到了这个ssl证书错误。

我通过以下命令成功执行:

python -m pip install PACKAGENAME --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org 

或者,如果什么都不行(就像我的情况),你可以恢复到搜索和下载whl文件这里:

https://pypi.org/project/fileDownloader.py/

在通过pip安装它之前,使用下载的文件,不再需要任何证书:

python3.7 -m pip install Myfile.whl

我尝试使用公司代理,但失败了。

我使用的是Python 3.6。

Pip.conf文件丢失。

下面是解决这个问题的步骤:

安装证书包:-pip——truste- host pypi.python.org——truste- host files.pythonhosted.org——truste- host pypi.org 创建一个pip.conf文件,如下所示:

     $ cd ~/.config 
     $ mkdir pip
     $ cd pip
     $ nano pip.conf

将以下内容添加到新创建的.conf文件中,并保存。

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

一切都完成了,它开始工作了。


在安装任何其他包之前运行PIP安装证书解决了我的问题


我对pip 21.0.1有这个问题,没有一个答案对我有效。一些人通过降低pip版本来解决这个问题。

如果在2021年你仍然有这个问题,我确实降级到pip 20.2.4,现在它起作用了。


只是把这个放在这里,因为我没有看到其他人提到它。

你可以像这样设置全局可信主机为pip:

py -m pip config set global.trusted-host pypi.org

最重要的是,它将返回放置pip.ini/pip.conf的正确位置


尽管有40个答案,但我认为没有一个完全解决了我的问题。

我在macOS Catalina 10.15.5上,在公司代理的后面。

在尝试安装或升级包时,提示以下错误

>>> pip install <package name>                                                                                                                           

Looking in indexes: https://pypi.org/simple, https://data:****@pypi.<company>.com/simple/
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)'))': <package name>
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)'))': <package name>

@Steve_Tauber的回答pip——cert /etc/ssl/certs/FOO_Root_CA。Pem安装链接检查器让我的方式有一部分。

我能够使用现有的cert文件成功安装包,如下所示:

pip install --cert /Users/me/opt/anaconda3/ssl/cert.pem --upgrade pip

但是我不想每次使用pip时都使用cert标志…

答案是更新环境变量:

CERT_PATH=/Users/me/opt/anaconda3/ssl/cert.pem
export SSL_CERT_FILE=${CERT_PATH}
export REQUESTS_CA_BUNDLE=${CERT_PATH}

现在我可以安装了。


永久固定pip配置

我有ssl问题,由于公司网络安全相关的netscope。我的机器是windows 10, python 3.9,下面的命令对我有用。

pip config set global.trusted-host \
    "pypi.org files.pythonhosted.org pypi.python.org" \
    --trusted-host=pypi.python.org \
    --trusted-host=pypi.org \
    --trusted-host=files.pythonhosted.org

在这里,pip永久信任这些站点,现在我们可以使用它们下载任何包。


这对我来说很管用:

$ sudo mv /etc/ssl/cert.pem /etc/ssl/cert.pem.BAK

在我的情况下,我在安装pip时得到了相同的错误,在尝试运行aws CLI命令时也出现了类似的错误。这一周一切正常,下一周就不正常了。AFAIK,我没有安装任何会破坏SSL的东西。

我在MacOS大苏尔,尝试了不同版本的Python 3。通过pyenv和Brew安装。我尝试了这篇文章中列出的所有相关解决方案。我甚至重新安装了操作系统,但还是不行。


这单子上的东西我都试过了!没有一个成功。 我意识到我的连接不稳定,所以我把调制解调器的电源插了一分钟 解决了我的问题:)


在连接中设置代理,然后运行:

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

修复了我在OSX上的问题,在终端上运行以下程序:

open "/Applications/Python 3.9/Install Certificates.command"

如果已经编译了Python,则执行以下操作在Python中启用SSL。

wget --no-check-certificate https://www.python.org/ftp/python/3.9.10/Python-3.9.10.tgz
tar -zxf Python-3.9.10.tgz
cd Python-3.9.10
mkdir /home/$USER/tools
export INSTALL_BASE_PATH=/home/$USER/tools

mkdir -p {INSTALL_BASE_PATH}/ssl
vi ./Modules/Setup      # Modify below lines in this file to these

SSL = {INSTALL_BASE_PATH} / SSL _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto .使用实例

./configure \
    --prefix=${INSTALL_BASE_PATH} \
    --enable-shared \
    --enable-ipv6 \
    LDFLAGS=-Wl,-rpath=${INSTALL_BASE_PATH}/lib,--disable-new-dtags

make
make install

对于Python 3.10

添加/更新文件内容

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

文件位置

MacOS - $HOME/Library/Application Support/pip/pip.conf Unix - $HOME/.config/pip/pip.conf Windows - %APPDATA%\pip\pip.ini


我得到了同样的错误,即使尝试了许多黑客。 所以我去了官方网站(https://pypi.org/project/),在那里我们可以找到特定软件包的车轮文件(.whl)并下载了它。

现在在命令提示符中:

PIP安装path_to_wheel_file/file_name.whl

现在文件已经成功安装。


如果MacOS对你和你没什么帮助。只需查看python文件夹并运行Install Certificates.command 只有这个对我有帮助。


我通过更改代理设置来自动检测代理设置来解决这个问题。