我使用的是 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