Scrapy安装失败,错误'无法打开包括:'openssl/aes.h'

问题描述:

我试图安装Scrapy easy_install -U Scrapy,但它试图安装时发生奇怪的错误“无法打开包含文件”。有人知道发生了什么吗?这里是我完整的回溯:Scrapy安装失败,错误'无法打开包括:'openssl/aes.h'

C:\Users\Mubashar Kamran>easy_install -U Scrapy 
Searching for Scrapy 
Reading https://pypi.python.org/simple/Scrapy/ 
Best match: scrapy 0.24.4 
Processing scrapy-0.24.4-py2.7.egg 
scrapy 0.24.4 is already the active version in easy-install.pth 
Installing scrapy-script.py script to C:\Python27\Scripts 
Installing scrapy.exe script to C:\Python27\Scripts 
Installing scrapy.exe.manifest script to C:\Python27\Scripts 

Using c:\python27\lib\site-packages\scrapy-0.24.4-py2.7.egg 
Processing dependencies for Scrapy 
Searching for cryptography>=0.2.1 
Reading https://pypi.python.org/simple/cryptography/ 
Best match: cryptography 0.5.4 
Downloading https://pypi.python.org/packages/source/c/cryptography/cryptography- 
0.5.4.tar.gz#md5=4fd1f10e9f99009a44667fabe7980aec 
Processing cryptography-0.5.4.tar.gz 
Writing c:\users\mubash~1\appdata\local\temp\easy_install-jjms3i\cryptography-0. 
5.4\setup.cfg 
Running cryptography-0.5.4\setup.py -q bdist_egg --dist-dir c:\users\mubash~1\ap 
pdata\local\temp\easy_install-jjms3i\cryptography-0.5.4\egg-dist-tmp-ry6bwd 
C:\Python27\lib\distutils\dist.py:267: UserWarning: Unknown distribution option: 
'setup_requires' 
    warnings.warn(msg) 
_Cryptography_cffi_684bb40axf342507b.c 
    Creating library c:\users\mubash~1\appdata\local\temp\easy_install-jjms3i\cry 
ptography-0.5.4\cryptography\hazmat\primitives\__pycache__\Release\cryptography\ 
hazmat\primitives\__pycache__\_Cryptography_cffi_684bb40axf342507b.lib and objec 
t c:\users\mubash~1\appdata\local\temp\easy_install-jjms3i\cryptography-0.5.4\cr 
yptography\hazmat\primitives\__pycache__\Release\cryptography\hazmat\primitives\ 
__pycache__\_Cryptography_cffi_684bb40axf342507b.exp 
_Cryptography_cffi_8f86901cxc1767c5a.c 
    Creating library c:\users\mubash~1\appdata\local\temp\easy_install-jjms3i\cry 
ptography-0.5.4\cryptography\hazmat\primitives\__pycache__\Release\cryptography\ 
hazmat\primitives\__pycache__\_Cryptography_cffi_8f86901cxc1767c5a.lib and objec 
t c:\users\mubash~1\appdata\local\temp\easy_install-jjms3i\cryptography-0.5.4\cr 
yptography\hazmat\primitives\__pycache__\Release\cryptography\hazmat\primitives\ 
__pycache__\_Cryptography_cffi_8f86901cxc1767c5a.exp 
_Cryptography_cffi_4ed9e37dx4000d087.c 
cryptography\hazmat\bindings\__pycache__\_Cryptography_cffi_4ed9e37dx4000d087.c(
194) : fatal error C1083: Cannot open include file: 'openssl/aes.h': No such fil 
e or directory 
error: c:\users\mubash~1\appdata\local\temp\easy_install-jjms3i\cryptography-0.5 
.4\cryptography\hazmat\primitives\__pycache__\_Cryptography_cffi_684bb40axf34250 
7b.pyd: Access is denied 

所有谁的错误,结束了在安装scrapy应遵循http://community.spiceworks.com/how_to/38490-setting-up-scrapy-on-windows-7。此链接描述了安装scrapy的最准确和最简单的方法,而不会在Windows 7和Windows 8上发现任何错误。

我得到同样的错误安装不同的python应用程序。我缺少的OpenSSL dev软件包,以解决:

sudo apt-get install libssl-dev 
+0

这个答案适合我。 – 2015-05-08 18:40:01

在OSX

brew install openssl,然后可能brew link openssl --force如果你被告知所有未创建的链接。

安装Scrapy使用以下命令

env CRYPTOGRAPHY_OSX_NO_LINK_FLAGS=1 LDFLAGS="$(brew --prefix openssl)/lib/libssl.a $(brew --prefix openssl)/lib/libcrypto.a" CFLAGS="-I$(brew --prefix openssl)/include" pip install scrapy

你可以,如果你愿意的话,替换为openssllibressl

+0

'brew link openssl --force'在'/ usr/local/include'中添加了适当的符号链接,它为我解决了这个问题。 – 2015-10-14 23:08:22

+0

'brew links openssl --force'也适用于我。之后,'pip install scrapy'运行完成。 – 2016-06-05 23:15:19

这足以将OpenSSL安装

brew install openssl 

和〜/ .bash_profile中导出

export LDFLAGS=-L/usr/local/opt/openssl/lib 
export CPPFLAGS=-I/usr/local/opt/openssl/include 

。 尽量避免与--force参数链接,因为它可能导致与系统库的冲突。

+0

授予问题的提问者可以说是windows,谢谢Pavel作为OSX用户,这是我需要的微调。 – 2016-07-01 22:51:28