简体   繁体   中英

Unable to install pyopenssl in MacOs for python2

I'm trying to run scrapy command with this in python2.7 in Mac OS:

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

But i'm receiving this error:

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

When I try to install

sudo pip install pyopenssl --user --upgrade

I get:

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

How can I fix this?

You are either missing or using an older version of openssl package or using an older version of pip.

  1. In your terminal, do openssl version . If it is installed, do brew upgrade openssl . If not installed, do brew install openssl
  2. Update pip - pip install -U upgrade if you are not using the latest version.
  3. Install pyopenssl using pip install pyopenssl . If properly installed, skip step 4.
  4. Install pyopenssl package using
    pip install pyopenssl --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include"

Reference: https://github.com/pyca/cryptography/issues/3489

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM