Python 使用旧版本的 OpenSSL(没有 homebrew)吗?

Python 使用旧版本的 OpenSSL(没有 homebrew)吗?

我使用的是 macOS Sierra 10.12.6。我不使用 HOMEBREW!我尝试使用 youtube-dl 从 Vimeo 下载,结果如下:

ERROR: Unable to download webpage: <urlopen error [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)> (caused by URLError(SSLError(1, u'[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)'),))

这是因为 macOS 附带的 OpenSSL 版本已过期。因此我像这样更新了 openssl:

$ curl -O https://www.openssl.org/source/openssl-1.1.1b.tar.gz

$ tar -zxvf openssl-1.1.1b.tar.gz
$ cd openssl-1.1.1b

$ ./config

$ make

$ sudo make install

之后,我检查 openssl 版本:

$ openssl version
OpenSSL 1.1.1b 26 Feb 2019

并检查它在哪里:

$ which openssl
/usr/local/bin/openssl

但错误仍然存​​在。然后我检查了一下python使用的是什么版本:

$ python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 0.9.8zh 14 Jan 2016

这是旧的、过时的版本!

问题:我如何告诉 python(以及其他可能使用 openssl 的应用程序)使用新版本?

ps Python版本是:

$ python --version
Python 2.7.10

相关内容