致命错误:' openssl / e_os2.h'在pypy找不到档案

时间:2016-04-16 10:03:10

标签: python python-2.7 cryptography pypy pyopenssl

当我运行命令pypy -m pip install cryptography

然后我遇到了错误:

cc -arch x86_64 -O2 -fPIC -Wimplicit -I / opt / pypy-5.0.1 / include -c build / temp.macosx-10.10-x86_64-2.7 / _openssl.c -o build / temp.macosx- 10.10 - x86_64-2.7 /编译/ temp.macosx-10.10-x86_64-2.7 / _openssl.o     build / temp.macosx-10.10-x86_64-2.7 / _openssl.c:423:10:致命错误:' openssl / e_os2.h'文件未找到     #包括              ^     生成1个错误。     错误:命令' cc'退出状态1失败

----------------------------------------

命令" / usr / local / bin / pypy -u -c"导入setuptools,tokenize; 文件 =' / private / var / folders / _t /8l_tq9210xl4bzlhkspnv8br0000gn/T/pip-build-Gjhf5l/cryptography/setup.py';exec(compile(getattr(tokenize,' open',open)( file )。 read()。replace(' \ r \ n',' \ n'),文件,' exec'))&# 34; install --record /var/folders/_t/8l_tq9210xl4bzlhkspnv8br0000gn/T/pip-6_y8I9-record/install-record.txt --single-version-external-managed --compile" / private / var / folders / _t / 8l_tq9210xl4bzlhkspnv8br0000gn / T / pip-build-Gjhf5l / cryptography /

中的错误代码1失败

3 个答案:

答案 0 :(得分:6)

在OS X PyPy上,您需要brew install openssl(或端口安装或其他),然后运行以下命令:

LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography

如果使用端口,请修改指向正确位置的路径。

答案 1 :(得分:0)

如果你的电脑是mac,请配置如下:

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

令人惊讶的是,它对我来说很好。

答案 2 :(得分:-1)

加密需要编译C扩展。

根据您所使用的平台,您应该在安装加密之前安装python-dev和gcc:

debian:sudo apt-get install python-dev gcc

rhel:sudo yum install python-devel gcc

windows:您需要安装Python C ++ Runtime(https://www.microsoft.com/en-us/download/details.aspx?id=44266