我正在尝试在 macOS Mojave 10.14 上安装 AWS EB-CLI,但在编译 Python 时遇到以下错误。
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
BUILD FAILED (OS X 10.14.5 using python-build 20180424)
在 pyenv wiki 中,它说,
- 安装额外的 SDK 头文件——我就是这么做的
- 编译 Python 时需要 libssl-dev ....
我迄今所做的事情...
- 通过 brew 安装 OpenSSL
- 上面的符号链接指向 /user/lib
- 通过 brew 安装 xz(由于未找到“lzma.h”文件错误)
现在错误是:
could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().
LibreSSL 2.6.4 and earlier do not provide the necessary APIs, https://github.com/libressl-portable/portable/issues/381
我正在从 Windows 迁移到 Mac,但很难理解这一点。任何帮助都将不胜感激。
Eric 解决了他的问题并发布了该问题的答案。我正在将他附加到答案中的询问移到他的问题上:
现在需要看看真正的罪魁祸首是什么吗?我真的需要 xz 等吗?有什么想法吗?
我认为他在问——和他链接的问题上的另外 39 人一样截至 2020 年 12 月 18 日 01:34am UTC ——根本原因是什么,解决方案是什么?
这个问题仍然悬而未决。一些常见主题:
- fish shell-各种问题
- openssl-未安装?(不太可能)
- openssl - 已安装版本 1.0.2o_2;通过安装修复了一些问题[电子邮件保护]
- pkg-config-未安装,可能是由于源安装而不是自制软件
- pkg-config — 首先从路径中提取错误的版本。
关于该问题的一些有用的评论:
- 用户尝试[电子邮件保护]修复提供了帮助homebrew 的输出关于 openssl 和 pkg-config 所需的路径和环境变量设置。
- 一个回应上述评论时链接的问题有一些非常有用的信息这帮助一些用户解决了他们的问题。
- Debian 用户,但是“LD_RUN_PATH 是必需的选项”
答案1
找到答案了。
CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl)"
成功了