更新Python SSL包时出现问题

更新Python SSL包时出现问题,python,python-3.x,ssl,Python,Python 3.x,Ssl,当使用urllib作为中的urllib时,我遇到了相同的问题,但当我将代码更改为下面的代码时,我得到了错误AttributeError:模块“ssl”没有属性“PROTOCOL\u TLSv1\u 2” from urllib.request import urlopen as uReq from bs4 import BeautifulSoup as soup import platform import ssl context = ssl.SSLContext(ssl.PROTOCOL_T

当使用urllib作为中的urllib时,我遇到了相同的问题,但当我将代码更改为下面的代码时,我得到了错误
AttributeError:模块“ssl”没有属性“PROTOCOL\u TLSv1\u 2”

from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup
import platform
import ssl

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)

my_url = 'https://www....'

uClient = uReq(my_url, context=context)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
print(page_soup.h1)
从我读到的()来看,很可能是因为我使用的是OpenSSL 0.9.8zh,2016年1月14日。我试着跑步

brew uninstall openssl
brew update && brew upgrade && brew cleanup && brew doctor
brew install openssl
要将我的ssl更新为OpenSSL 1.0.2j,但当我运行脚本时,仍然出现相同的错误,因此我在终端中检查了
OpenSSL版本-a
,该终端仍然显示
OpenSSL 0.9.8zh 2016年1月14日
。我看到的其他一些页面()认为这可能是一个路径问题。在我的例子中,在终端中运行
哪个python
给出了-/usr/local/bin/python,其中as
echo$PATH
返回

/Users/local/.nvm/versions/node/v6.0.0/bin:/Library/Frameworks/Python.framework/versions/3.5/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin

我不确定这个路径差异是否是问题的一部分,但即使我在终端中运行python2或python3,它也会再次表示它使用了“OpenSSL 0.9.8zh 2016年1月14日”,因此它似乎没有在任何地方更新OpenSSL。此外,我只使用python3,所以我不担心它是否已更新为python2。对于我最初的问题,任何可以绕过这个问题的解决方案,或者在python3中更新我的OpenSSL的修复方案都是非常好的。(如果此问题需要任何其他信息,请告知我)