为什么 pip install pyopenssl==0.13 失败?

Why is pip install pyopenssl==0.13 failing?

我正在尝试在我的 Macbook Pro(OSX 版本 10.11,El-Capitan)上安装 PyOpenSSL 0.13。但它一直在失败。这些是我采取的步骤

  1. here
  2. 下载并安装适用于 Xcode 7.3.1 的命令行工具 (OSX 10.11)
  3. $ virtualenv my-new-virtualenv
  4. $ source my-new-virtualenv/bin/activate
  5. $ pip install pyopenssl==0.13

当我执行第 4 步时,出现以下错误:

OpenSSL/crypto/x509.h:17:10: fatal error: 'openssl/ssl.h' file not found
  #include <openssl/ssl.h>
       ^
  1 error generated.
  error: command 'cc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pyopenssl

Here 是显示该错误的整个轨迹。

为什么会出现此错误,我该如何解决?

您似乎缺少 OpenSSL 开发 headers,如 @Klaus D. 所述,这很可能是因为升级到 El Capitan,这些开发 headers 被破坏了。它通常可以通过重新安装命令行工具来修复。 如果你有 Homebrew,运行 这个代码: brew install openssl

另外,出于好奇,您想使用 0.13 版有什么特别的原因吗?当我执行 $ pip install pyopenssl==0.14 时,我没有收到任何错误。请参阅 pyOpenSSL 文档中的内容: