我试图在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
我该如何解决?
答案 0 :(得分:1)
您不见了,或者使用的是OpenSSL软件包的较旧版本,或者是使用了较旧的pip版本。
openssl version
。如果已安装,请执行brew upgrade openssl
。如果未安装,请执行brew install openssl
pip install -U upgrade
(如果您未使用最新版本)。pip install pyopenssl
安装 pyopenssl 。如果安装正确,请跳过步骤4。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