如何在Python中修复<urlopen error =“” [ssl:=“” certificate_verify_failed] =“” certificate =“” verify =“” failed =“”(_ssl.c:833)=“”>?

时间:2018-09-08 02:57:56

标签: python django ssl localhost python-3.6

我有一个Django Web应用程序,当我在Conda中安装Python时,该应用程序就可以正常工作。我最近卸载了Conda,并定期安装了所有Python软件包。我正在尝试在本地服务器上运行我的Django应用程序,它不再起作用。我发现问题是此错误:

URLError at /submit/
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)>
Request Method: POST
Request URL:    http://127.0.0.1:8000/submit/
Django Version: 2.1.1
Exception Type: URLError
Exception Value:    
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)>
Exception Location:  /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/urllib/request.py in do_open, line 1320
Python Executable:  /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Python Version: 3.6.5

我了解到有关Python 3.6证书的更新(请参见this article的底部)。我希望找到一个简单的修复程序,以允许我继续在本地主机上运行此Django应用程序,并且希望在不使用Conda的情况下继续使用Python 3.6。我可以尝试使用安装了不同版本Python的virtualenv,但我想知道我是否仍然可以使用3.6。感谢您提供任何见解!

1 个答案:

答案 0 :(得分:1)

this post中的第二个解决方案为我解决了。

我尝试了pip install --upgrade certifi,但这并不能解决问题。运行本身运行/Applications/Python 3.6/Install Certificates.command的{​​{1}}脚本以及其他一些功能,就可以了!