无法在python2的MacOs中安装pyopenssl

时间:2018-07-14 14:09:10

标签: python python-2.7

我试图在Mac OS的python2.7中使用此命令运行scrapy命令:

cmdline.execute("scrapy crawl pornHubSpider".split())

但是我收到此错误:

from OpenSSL._util import lib as pyOpenSSLlib
ImportError: No module named _util

当我尝试安装

sudo pip install pyopenssl --user --upgrade

我得到:

build/temp.macosx-10.13-intel-2.7/_openssl.c:493:10: fatal error: 'openssl/opensslv.h' file not found
    #include <openssl/opensslv.h>
             ^~~~~~~~~~~~~~~~~~~~
    1 error generated.
    error: command 'cc' failed with exit status 1

    ----------------------------------------
    Command "/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -c "import setuptools, tokenize;__file__='/private/tmp/pip-build-v_oSaa/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-A590v3-record/install-record.txt --single-version-externally-managed --compile --user" failed with error code 1 in /private/tmp/pip-build-v_oSaa/cryptography

我该如何解决?

1 个答案:

答案 0 :(得分:1)

您不见了,或者使用的是OpenSSL软件包的较旧版本,或者是使用了较旧的pip版本。

  1. 在您的终端中,执行openssl version。如果已安装,请执行brew upgrade openssl。如果未安装,请执行brew install openssl
  2. 更新点-pip install -U upgrade(如果您未使用最新版本)。
  3. 使用pip install pyopenssl安装 pyopenssl 。如果安装正确,请跳过步骤4。
  4. 使用
    安装 pyopenssl 软件包 pip install pyopenssl --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include" 参考:https://github.com/pyca/cryptography/issues/3489