фатальная ошибка: файл openssl / e_os2.h не найден в pypy

Когда я запускаю команду 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 / build / 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' не обнаружена ошибка #include ^ 1. ошибка: команда 'cc' завершилась неудачно со статусом выхода 1

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

Команда "/ usr / local / bin / pypy -u -c" import setuptools, tokenize; file = '/ private / var / folder / _t / 8l_tq9210xl4bzlhkspnv8br0000gn / T / pip-build-Gjhf5l / cryptography /setup.py';exec(compile(getattr(tokenize, 'open', open) (файл) .read (). replace ('\ r \ n', '\ n'), file, 'exec')) "install --record /var/folders/_t/8l_tq9210xl4bzlhkspnv8br0000gn/T/pip-6_y8I9-record/install-record.txt --single-version-external-managed --compile "сбой с кодом ошибки 1 в / private / var / folder / _t / 8l_tq9210xl4bzlhkspnv8br0000gn / T / pip-build-Gjhf5l / cryptography /"


person Ghanshyam Jain    schedule 16.04.2016    source источник
comment
Вам не хватает заголовочного файла openssl. Вы установили openssl?   -  person Padraic Cunningham    schedule 16.04.2016


Ответы (3)


В OS X PyPy вам нужно brew install openssl (или установить порт или что-то еще), а затем выполнить следующую команду:

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

Если вы используете порты, измените пути, чтобы они указывали на правильное местоположение.

person Paul Kehrer    schedule 19.04.2016

Если у вас компьютер Mac, настройте его следующим образом:

экспорт LDFLAGS = -L / usr / local / opt / openssl / lib экспорт CPPFLAGS = -I / usr / local / opt / openssl / include

и, что удивительно, у меня он отлично работает.

person Qi Wei    schedule 12.06.2018

Криптография требует компиляции расширений 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)

person nir0s    schedule 16.04.2016