Когда я пытаюсь установить пакет Cryptography для Python с помощью pip install cryptography
или загружая пакет с их сайта и работая python setup.py
, я получаю следующую ошибку:
D:\Anaconda\Scripts\pip-script.py run on 02/27/14 16:13:17
Downloading/unpacking cryptography
Getting page https://pypi.python.org/simple/cryptography/
URLs to search for versions for cryptography:
* https://pypi.python.org/simple/cryptography/
Analyzing links from page https://pypi.python.org/simple/cryptography/
Skipping https://pypi.python.org/packages/cp26/c/cryptography/cryptography-0.2-cp26-none-win32.whl#md5=13e5c4b19520e7dc6f07c6502b3f74e2 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp26/c/cryptography/cryptography-0.2.1-cp26-none-win32.whl#md5=00e733648ee5cdb9e58876238b1328f8 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp27/c/cryptography/cryptography-0.2-cp27-none-win32.whl#md5=013ccafa6a5a3ea92c73f2c1c4879406 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp27/c/cryptography/cryptography-0.2.1-cp27-none-win32.whl#md5=127d6a5dc687250721f892d55720a06c (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp32/c/cryptography/cryptography-0.2-cp32-none-win32.whl#md5=051424a36e91039807b72f112333ded3 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp32/c/cryptography/cryptography-0.2.1-cp32-none-win32.whl#md5=53f6f57db8e952d64283baaa14cbde3d (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp33/c/cryptography/cryptography-0.2-cp33-none-win32.whl#md5=302812c1c1a035cf9ba3292f8dbf3f9e (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Skipping https://pypi.python.org/packages/cp33/c/cryptography/cryptography-0.2.1-cp33-none-win32.whl#md5=81acca90caf8a45f2ca73f3f9859fae4 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
Found link https://pypi.python.org/packages/source/c/cryptography/cryptography-0.1.tar.gz#md5=bdc1c5fe069deca7467b71a0cc538f17 (from https://pypi.python.org/simple/cryptography/), version: 0.1
Found link https://pypi.python.org/packages/source/c/cryptography/cryptography-0.2.1.tar.gz#md5=872fc04268dadc66a0305ae5ab1c123b (from https://pypi.python.org/simple/cryptography/), version: 0.2.1
Found link https://pypi.python.org/packages/source/c/cryptography/cryptography-0.2.tar.gz#md5=8a3d21e837a21e1b7634ee1f22b06bb6 (from https://pypi.python.org/simple/cryptography/), version: 0.2
Using version 0.2.1 (newest of versions: 0.2.1, 0.2, 0.1)
Downloading from URL https://pypi.python.org/packages/source/c/cryptography/cryptography-0.2.1.tar.gz#md5=872fc04268dadc66a0305ae5ab1c123b (from https://pypi.python.org/simple/cryptography/)
Running setup.py (path:c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography\setup.py) egg_info for package cryptography
In file included from c/_cffi_backend.c:7:0:
c/misc_win32.h:225:23: error: two or more data types in declaration specifiers
c/misc_win32.h:225:1: warning: useless type name in empty declaration [enabled by default]
c/_cffi_backend.c: In function 'convert_array_from_object':
c/_cffi_backend.c:1105:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1105:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1130:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1130:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1150:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1150:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'convert_struct_from_object':
c/_cffi_backend.c:1183:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1183:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1196:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1196:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdata_repr':
c/_cffi_backend.c:1583:13: warning: unknown conversion type character 'L' in format [-Wformat]
c/_cffi_backend.c:1583:13: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1595:9: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1595:9: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdataowning_repr':
c/_cffi_backend.c:1647:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1647:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function '_cdata_get_indexed_ptr':
c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1820:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function '_cdata_getslicearg':
c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1872:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdata_ass_slice':
c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1951:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1969:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1983:22: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1983:22: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdata_call':
c/_cffi_backend.c:2367:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:2367:30: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
c/_cffi_backend.c:2367:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cast_to_integer_or_char':
c/_cffi_backend.c:2916:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:2916:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
c/_cffi_backend.c:2916:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:2928:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:2928:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
c/_cffi_backend.c:2928:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'new_array_type':
c/_cffi_backend.c:3480:9: warning: unknown conversion type character 'l' in format [-Wformat]
c/_cffi_backend.c:3480:9: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'b_complete_struct_or_union':
c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:3878:22: warning: too many arguments for format [-Wformat-extra-args]
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography\setup.py", line 113, in <module>
"build": cffi_build,
File "D:\Anaconda\lib\distutils\core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "build\bdist.win-amd64\egg\setuptools\dist.py", line 239, in __init__
File "build\bdist.win-amd64\egg\setuptools\dist.py", line 264, in fetch_build_eggs
File "build\bdist.win-amd64\egg\pkg_resources.py", line 580, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "build\bdist.win-amd64\egg\pkg_resources.py", line 818, in best_match
return self.obtain(req, installer) # try and download/install
File "build\bdist.win-amd64\egg\pkg_resources.py", line 830, in obtain
return installer(requirement)
File "build\bdist.win-amd64\egg\setuptools\dist.py", line 314, in fetch_build_egg
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 593, in easy_install
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 623, in install_item
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 809, in install_eggs
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 1015, in build_and_install
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 1003, in run_setup
distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1
Complete output from command python setup.py egg_info:
In file included from c/_cffi_backend.c:7:0:
c/misc_win32.h:225:23: error: two or more data types in declaration specifiers
c/misc_win32.h:225:1: warning: useless type name in empty declaration [enabled by default]
c/_cffi_backend.c: In function 'convert_array_from_object':
c/_cffi_backend.c:1105:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1105:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1130:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1130:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1150:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1150:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'convert_struct_from_object':
c/_cffi_backend.c:1183:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1183:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1196:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1196:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdata_repr':
c/_cffi_backend.c:1583:13: warning: unknown conversion type character 'L' in format [-Wformat]
c/_cffi_backend.c:1583:13: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1595:9: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1595:9: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdataowning_repr':
c/_cffi_backend.c:1647:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1647:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function '_cdata_get_indexed_ptr':
c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1820:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function '_cdata_getslicearg':
c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1872:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdata_ass_slice':
c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1951:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1969:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:1983:22: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:1983:22: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cdata_call':
c/_cffi_backend.c:2367:30: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:2367:30: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
c/_cffi_backend.c:2367:30: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'cast_to_integer_or_char':
c/_cffi_backend.c:2916:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:2916:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
c/_cffi_backend.c:2916:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c:2928:26: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:2928:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
c/_cffi_backend.c:2928:26: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'new_array_type':
c/_cffi_backend.c:3480:9: warning: unknown conversion type character 'l' in format [-Wformat]
c/_cffi_backend.c:3480:9: warning: too many arguments for format [-Wformat-extra-args]
c/_cffi_backend.c: In function 'b_complete_struct_or_union':
c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]
c/_cffi_backend.c:3878:22: warning: too many arguments for format [-Wformat-extra-args]
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography\setup.py", line 113, in <module>
"build": cffi_build,
File "D:\Anaconda\lib\distutils\core.py", line 112, in setup
_setup_distribution = dist = klass(attrs)
File "build\bdist.win-amd64\egg\setuptools\dist.py", line 239, in __init__
File "build\bdist.win-amd64\egg\setuptools\dist.py", line 264, in fetch_build_eggs
File "build\bdist.win-amd64\egg\pkg_resources.py", line 580, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "build\bdist.win-amd64\egg\pkg_resources.py", line 818, in best_match
return self.obtain(req, installer) # try and download/install
File "build\bdist.win-amd64\egg\pkg_resources.py", line 830, in obtain
return installer(requirement)
File "build\bdist.win-amd64\egg\setuptools\dist.py", line 314, in fetch_build_egg
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 593, in easy_install
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 623, in install_item
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 809, in install_eggs
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 1015, in build_and_install
File "build\bdist.win-amd64\egg\setuptools\command\easy_install.py", line 1003, in run_setup
distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Removing temporary dir c:\users\paco\appdata\local\temp\pip_build_Paco...
Command python setup.py egg_info failed with error code 1 in c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography
Exception information:
Traceback (most recent call last):
File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.egg\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.egg\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.egg\pip\req.py", line 1229, in prepare_files
req_to_install.run_egg_info()
File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.egg\pip\req.py", line 325, in run_egg_info
command_desc='python setup.py egg_info')
File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.egg\pip\util.py", line 697, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography
Я нашел другие сообщения об ошибках egg_info ( здесь и здесь ), но предоставленные там решения не решили мою проблему. Также я могу устанавливать другие пакеты через PIP.
PIP версия 1.5.4 setuptools версия 2.2
python
cryptography
pip
Laven
источник
источник
pip install
криптография должна работать «из коробки».Ответы:
У меня была похожая проблема, и я обнаружил, что мне просто не хватает зависимости (libssl-dev, для меня). Как указано в https://cryptography.io/en/latest/installation/ , убедитесь, что все зависимости соблюдены:
На винде
Если вы работаете в Windows, вам нужно убедиться, что у вас установлен OpenSSL. Доступны предварительно скомпилированные двоичные файлы. Если ваша установка находится в необычном месте, задайте в переменных среды LIB и INCLUDE соответствующие местоположения. Например:
Построение криптографии на Linux
Криптография должна очень легко собираться на Linux, если у вас есть компилятор C, заголовки для Python (если вы не используете pypy) и заголовки для библиотек OpenSSL и libffi, доступных в вашей системе.
Для Debian и Ubuntu следующая команда обеспечит установку необходимых зависимостей:
Для Fedora и RHEL-производных следующая команда обеспечит установку необходимых зависимостей:
Теперь вы должны быть в состоянии построить и установить криптографию с обычным.
источник
libffi-dev
пакет является ключом на всех. Мне не нужно было ничего настраивать, но это имя пакета не появилось в журнале ошибок: - / Спасибо.python-dev
с ,python3-dev
если вы используете python3Это сокращенный вариант информации , найденной на криптографию в установке страницы Docs. Обратитесь к этой странице для последних деталей.
Так как этот вопрос продолжает появляться, я также опущу ответ (я один из разработчиков pyca / cryptography). Вот что вам нужно для надежной установки pyca / cryptography на 3 основные платформы.
Обратите внимание, что во всех этих случаях настоятельно рекомендуется устанавливать в virtualenv, а не в глобальное пространство пакетов. Это не относится только к криптографии, а является общим советом для обеспечения надежной установки Python. Глобальное пространство пакетов в ОС, при условии, что Pythons принадлежит системе, и установка вещей через pip вызывает в ней проблемы.
Windows
Обновите до последней версии (8.1.2 по состоянию на июнь 2016 года) и просто
pip install cryptography
криптография и cffi поставляются как статически связанные колеса.
OS X
Обновите до последней версии (8.1.2 по состоянию на июнь 2016 года) и просто
pip install cryptography
криптография и cffi поставляются как статически связанные колеса. Это будет работать для pyenv Python, системного Python, доморощенного Python и т. Д. Пока вы используете последний пип, вам даже не понадобится компилятор.
Linux
Начиная с версии 2.0 криптография поставляется с колесами Manylinux1. Это означает, что пользователям с pip 8.1+, работающим в дистрибутиве на основе glibc (почти все, кроме Alpine Linux) и x86 / x86-64 (извините, люди из Raspberry Pi) больше не нужен компилятор или заголовки, потому что вы получите предварительно скомпилированное колесо автоматически , Итак, первое, что вы должны попробовать, это обновить свой пункт!
Если вы не совместимы с manylinux1, то вот что вам нужно сделать:
Вам понадобится компилятор C, libffi + его заголовки разработки и openssl + его заголовки разработки.
Производные дистрибутивы Debian или Ubuntu
apt-get install build-essential libssl-dev libffi-dev python-dev
с последующимpip install cryptography
Производные от Red Hat
yum install gcc openssl-devel libffi-devel python-devel
с последующимpip install cryptography
источник
pip
который является старым, тогда решение OSX работает как шарм. (pip 9.0.1
,MacOS Sierra
)Для тех из вас, кто работает под управлением OS X, вот что сработало для меня:
(Работает 10,9 Маверикс)
Вы также можете попробовать объединить флаги и команды pip со следующими комментариями:
источник
CFLAGS="-I/usr/include" pip install cryptography
из Риперхалк работал на меня на Маверикс.export
неenv
, но в остальном работает.$ ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
работал для меняmacOS 10.12
сPython3.7
(в virtualenv), когда нужноcryptography
для того, чтобы установитьansible
.Это сработало для меня в Эль-Капитане
Вы также можете проверить ветку здесь: https://github.com/pyca/cryptography/issues/2350
источник
Это решило проблему для меня (Ubuntu 16.04):
и тогда это работало так:
источник
Очевидно, что в последних версиях OSX это может быть вызвано тем, что Apple выпустила собственную версию OpenSSL, которая не работает с библиотекой криптографии.
Последние версии библиотеки криптографии поставляются со своими собственными зависимостями, но для их получения вам потребуется обновить pip и, возможно, также виртуальную среду. Так что для меня решение было:
источник
Как я решил «Не удалось очистить каталог сборки для криптографии»
(я пришел сюда из Google, чтобы найти эту ошибку.)
примечание : использование virtualenv
TL; DR:
мой файл
/etc/apt/sources.list
не был правильно настроен для моего Debian 8.Пояснения:
Я хотел установить парамико. Парамико нужна криптография.
Я получил эти ошибки: сначала с
pip install cryptography
:а затем с
sudo apt-get install build-essential
:(Не совсем те же ошибки, что и у OP, но я здесь, чтобы помочь в конце концов )
Решение:
После тестирования почти каждой команды из каждого сообщения, я в итоге захожу на
https://wiki.debian.org/SourcesList
и копирую в файл мой соответствующий конфиг
/etc/apt/sources.list
затем:
sudo aptitude update
а потом
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
а потом
pip install cryptography
НТН
источник
Я пробовал много решений выше, но только после установки следующей библиотеки я смог установить
cryptography
:Я использую Ubuntu 18.04, но он будет работать и на Ubuntu 18.10.
источник
Это сработало для меня (я использую Ubuntu 14.04):
сначала установите libffi-dev libssl-dev libpython2.7-dev:
тогда внутри virtualenv:
Источники:
https://stackoverflow.com/a/32800685/5123544
https://stackoverflow.com/a/29202163/5123544
источник
Ответ Ника Вудхэма не работал для меня на OSX 10.11 El Capitan, но это сработало.
источник
CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
и это установлено. Я должен был также добавить,LDFLAGS="-L/usr/local/opt/openssl/lib"
чтобы загрузить библиотеку. Кажется, что комментарий Дина Кристиана Армады делает то же самое, но с использованием сгенерированных brew переменных вместо жесткого кодирования.Если вы используете python3, вам нужно установить
python3-dev
. Это исправило мою проблемуsudo apt-get install python3-dev
.источник
У меня были проблемы с установкой
cryptography==1.7.1
на Ubuntu 16.04, и ни один из ответов выше не помог. Итак, я обновил требование до совместимого 1.8.2, и установка прошла успешно. Обратите внимание, что вам все равно понадобятся основы сборки и другие зависимости, упомянутые в верхнем (наиболее одобренном) ответе .источник
У меня была проблема с запуском,
sudo pip install cryptography
потому что он не нашел ffi при попытке компиляции. (OSX - Йосемити)Я решил это, загрузив libffi и настроив env var.
источник
Это работает на El Capitan с MacPorts:
источник
Если вы создаете дистрибутив пакета Python в .gitlab-ci.yml файла для GitLab CI , который использует gitlab бегун развернутую в машине AWS EC2
источник
Я заметил, что оригинальный постер явно использовал установку Windows ... и лучшие ответы выше для всех ОС ... так что здесь. Это предполагает, что вы установили Python 2.7, который является наиболее широко поддерживаемой (хотя и старой) версией.
Перезапустите pip install (пакет), например
источник
Я недавно столкнулся с подобной проблемой. В моем случае версии
cffi
иcryptography
написанные в файле require.txt несовместимы (cffi == 1.8.9 и криптография == 1.9). Я решил обновитьcffi
с последней доступной версией.источник
На самом деле я столкнулся с той же проблемой, пытаясь установить Scrapy, которая зависит от того, какая криптография была установлена первой. Я нахожусь на Win764-bit с установленным Python 2.7 64-bit. Ответ @ jsonm в конечном итоге сработал для меня, но сначала мне пришлось скопировать
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat
вx86_amd64
subdir в этом каталоге bin, чтобыvcvarsall.bat
он перестал выдавать ошибку, говоря, что в нем отсутствует конфигурация. Если вам нужно настроить env vars для другой установки, обязательно скопируйте в соответствующий файл vcvars bat в соответствующий subdir, иначе первая команда ниже может не сработать.Затем я запустил следующее из командной строки в соответствии с инструкциями @ jsonm (настроено для моей конфигурации) ...
И это сработало.
источник
У меня тоже была эта ошибка. После того, как я продолжал получать эту ошибку даже после установки openSSL, я в конце концов попытался установить файлы из колеса с https://pypi.python.org/pypi/cryptography/0.2.2#downloads . Это сработало!
источник
я загрузил полный исходный код paramiko из pypi и сделал
Python setup.py установить
это работало без нареканий
все стандартные пакеты pythondev / openssl / libffi уже присутствуют в rhel.
загрузка rpms имеет несоответствие rpm и больше проблем
источник
У меня та же проблема:
Затем я устанавливаю libffi-devel и проблема решается
источник
Эти две команды исправили это для меня:
Источник: https://github.com/phusion/passenger/issues/1630#issuecomment-147527656
источник
brew link openssl --force
на OS X. Вместо этого просто обновите ваш pip до последней версии, и он установит статически связанное колесо для cffi и криптографии без проблем.Я решил это путем обновления с криптографии 1.9 до 2.4.2
источник