在MacOS El Capitan中为Python 3.5更新OpenSSL的问题
解决MacOS El Capitan下Python 3.5更新OpenSSL的后续配置说明
你已经通过brew install openssl成功安装了新版OpenSSL,终端给出的提示其实是在明确后续的配置要点,我帮你拆解清楚:
证书扩展配置:系统已经自动用钥匙串里的证书生成了CA文件,如果之后需要添加额外的自定义证书,只要把
.pem格式的证书文件放到/usr/local/etc/openssl/certs目录下,再执行以下命令更新证书索引:/usr/local/opt/openssl/bin/c_rehash这个命令会为新增的证书生成哈希链接,确保OpenSSL能正常识别它们。
关于keg-only的解释:这个OpenSSL包是keg-only状态,意味着它不会被自动链接到
/usr/local目录下——这是因为Apple已经在系统层面弃用了OpenSSL的相关组件,这么做是为了避免brew安装的版本和系统自带版本发生冲突。
另外补充个实用点:如果要让你的Python 3.5真正用上这个新版OpenSSL,你需要让Python能找到它的库和头文件。可以先设置环境变量:
export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
之后重新安装依赖OpenSSL的Python包(比如requests、cryptography这类),或者如果是编译安装Python 3.5的话,编译时带上这些参数,就能让Python绑定新版的OpenSSL了。
内容的提问来源于stack exchange,提问作者TomB
相关产品推荐
相关产品推荐

