代码之家  ›  专栏  ›  技术社区  ›  Filipe Ferminiano

无法在python2的MacOS中安装pyopenssl

  •  0
  • Filipe Ferminiano  · 技术社区  · 6 年前

    我试图在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 回复  |  直到 6 年前
        1
  •  1
  •   Shiva    6 年前

    您可能丢失或使用的是旧版本的openssl包,或者使用的是旧版本的pip。

    1. 在你的候机楼里,是吗? openssl version . 如果已安装,请执行 brew upgrade openssl . 如果未安装,请执行 brew install openssl
    2. 更新pip- pip install -U upgrade 如果您不使用最新版本。
    3. 安装 pyopenssl公司 使用 pip install 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