Quando tento instalar o pacote de criptografia para Python por meio de pip install cryptography
ou baixando o pacote do site e executando python setup.py
, recebo o seguinte erro:
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
Encontrei outras postagens de erro egg_info ( aqui e aqui ), mas as soluções fornecidas não resolveriam meu problema. Além disso, eu consigo instalar outros pacotes através do PIP.
PIP versão 1.5.4 setuptools versão 2.2
python
cryptography
pip
laven
fonte
fonte
pip install
criptografia deve funcionar imediatamente .Respostas:
Eu tive um problema semelhante e descobri que estava simplesmente perdendo uma dependência (libssl-dev, para mim). Conforme mencionado em https://cryptography.io/en/latest/installation/ , verifique se todas as dependências foram atendidas:
No Windows
Se você estiver no Windows, precisará ter o OpenSSL instalado. Existem binários pré-compilados disponíveis. Se sua instalação estiver em um local incomum, configure as variáveis de ambiente LIB e INCLUDE para incluir os locais correspondentes. Por exemplo:
Criando criptografia no Linux
A criptografia deve ser criada com muita facilidade no Linux, desde que você tenha um compilador C, cabeçalhos para Python (se você não estiver usando pypy) e cabeçalhos para as bibliotecas OpenSSL e libffi disponíveis em seu sistema.
Para Debian e Ubuntu , o seguinte comando garantirá que as dependências necessárias sejam instaladas:
Para derivados do Fedora e RHEL , o seguinte comando garantirá que as dependências necessárias sejam instaladas:
Agora você deve conseguir criar e instalar criptografia com o habitual.
fonte
libffi-dev
pacote é a chave. Não precisei configurar mais nada, mas esse nome de pacote não apareceu no log de erros: - / Obrigado.python-dev
porpython3-dev
se você estiver usando python3Esta é uma versão resumida das informações encontradas na instalação da criptografia página de documentos de . Consulte essa página para obter os detalhes mais recentes.
Como essa pergunta do SO continua aparecendo, deixarei uma resposta aqui também (sou um dos desenvolvedores de pyca / criptografia). Aqui está o que você precisa para instalar pyca / criptografia de maneira confiável nas três principais plataformas.
Observe que em todos esses casos, é altamente recomendável que você instale em um virtualenv e não no espaço global do pacote. Isso não é específico da criptografia, mas é um conselho genérico para manter sua instalação do Python confiável. O espaço global de pacotes no sistema operacional, desde que o Pythons seja de propriedade do sistema, e a instalação de coisas via pip nele está causando problemas.
janelas
Atualize para o pip mais recente (8.1.2 em junho de 2016) e apenas
pip install cryptography
criptografia e cffi são enviados como rodas vinculadas estaticamente.
OS X
Atualize para o pip mais recente (8.1.2 em junho de 2016) e apenas
pip install cryptography
criptografia e cffi são enviados como rodas vinculadas estaticamente. Isso funcionará para pyenv Python, sistema Python, homebrew Python, etc. Enquanto você estiver no último pip, nem precisará de um compilador.
Linux
A partir da criptografia da versão 2.0, é fornecida muitas rodas linux1. Isso significa que os usuários com o pip 8.1+ rodando em uma distribuição baseada em glibc (quase tudo, exceto Alpine Linux) e no x86 / x86-64 (desculpe pessoal do Raspberry Pi) não precisam mais de um compilador ou cabeçalhos, porque você receberá uma roda pré-compilada automaticamente . Então, a primeira coisa que você deve tentar é atualizar seu pip!
Se você não é compatível com o manylinux1, aqui está o que você precisa fazer:
Você precisará de um compilador C, libffi + seus cabeçalhos de desenvolvimento e openssl + seus cabeçalhos de desenvolvimento.
Distribuições derivadas do Debian ou Ubuntu
apt-get install build-essential libssl-dev libffi-dev python-dev
Seguido porpip install cryptography
Distribuições derivadas da Red Hat
yum install gcc openssl-devel libffi-devel python-devel
Seguido porpip install cryptography
fonte
pip
que tem idades, então a solução OSX funciona como um encanto. (pip 9.0.1
,MacOS Sierra
)Para aqueles que executam o OS X, eis o que funcionou para mim:
(Executando 10.9 Mavericks)
Você também pode tentar mesclar os comandos flags e pip com o seguinte, conforme o comentário abaixo:
fonte
CFLAGS="-I/usr/include" pip install cryptography
de reaperhulk trabalhou para mim no Mavericks.export
nãoenv
, mas de outra forma funciona.$ ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
trabalhou para mimmacOS 10.12
comPython3.7
(em um virtualenv) quando necessáriocryptography
para instalaransible
.Isso funcionou para mim em El Capitan
Você também pode verificar o tópico aqui: https://github.com/pyca/cryptography/issues/2350
fonte
Isso resolveu o problema para mim (Ubuntu 16.04):
e então estava trabalhando assim:
fonte
Aparentemente, nas versões recentes do OSX, isso pode ser causado pelo envio da própria versão do OpenSSL pela Apple, que não funciona com a biblioteca de criptografia.
As versões recentes da biblioteca de criptografia são fornecidas com suas próprias dependências nativas, mas para obtê-las você precisará atualizar o pip e, possivelmente, também o ambiente virtual. Então, para mim, a solução foi:
fonte
Como eu resolvi "Falha na limpeza do diretório de construção para criptografia"
(vim aqui do google para resultar nesse erro).
Nota : usando um virtualenv
TL; DR:
meu arquivo
/etc/apt/sources.list
não foi configurado corretamente para o meu debian 8.Explicações:
Eu queria instalar o paramiko. paramiko precisa de criptografia.
Eu recebi estes erros: primeiro com
pip install cryptography
:e depois com
sudo apt-get install build-essential
:(Não são exatamente os mesmos erros do OP, mas estou aqui para ajudar eventualmente )
Resolução:
Depois de testar quase todos os comandos de todas as postagens, acabo acessando
https://wiki.debian.org/SourcesList
e copio colado minha configuração adequada no arquivo
/etc/apt/sources.list
então:
sudo aptitude update
e depois
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
e depois
pip install cryptography
hth
fonte
Eu tentei muitas soluções acima, mas somente após a instalação da seguinte lib eu pude instalar
cryptography
:Estou usando o Ubuntu 18.04, mas ele também funcionará no Ubuntu 18.10.
fonte
Isso funcionou para mim (estou usando o Ubuntu 14.04):
primeiro instale o libffi-dev libssl-dev libpython2.7-dev:
então dentro do virtualenv:
Fontes:
https://stackoverflow.com/a/32800685/5123544
https://stackoverflow.com/a/29202163/5123544
fonte
A resposta de Nick Woodham não funcionou no OSX 10.11 El Capitan para mim, mas funcionou.
fonte
CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
e instalado. Eu tive que adicionarLDFLAGS="-L/usr/local/opt/openssl/lib"
também para carregar a biblioteca. O comentário de Dean Christian Armada parece fazer a mesma coisa, mas usando variáveis geradas por fermentação em vez de codificação.Se você estiver usando python3, precisará instalar
python3-dev
. Isso corrigiu meu problemasudo apt-get install python3-dev
.fonte
Eu estava tendo problemas com a instalação
cryptography==1.7.1
no Ubuntu 16.04 e nenhuma das respostas acima ajudou. Portanto, atualizei o requisito para um 1.8.2 compatível e a instalação foi bem-sucedida. Observe que você ainda precisará criar itens essenciais e outras dependências mencionadas na resposta superior (mais votada) .fonte
Eu estava com um problema em execução
sudo pip install cryptography
porque não encontrava ffi ao tentar compilar. (OSX - Yosemite)Eu o resolvi baixando o libffi e configurando o env var.
fonte
Isso funciona no El Capitan com MacPorts:
fonte
Se você estiver criando uma distribuição de pacotes python em um arquivo .gitlab-ci.yml no GitLab CI que usa um corredor gitlab implantado em uma máquina AWS EC2
fonte
Percebi que o pôster original estava claramente usando uma instalação do Windows ... e as melhores respostas acima são todas para outros sistemas operacionais ... então aqui vai. Isso pressupõe que você instalou o Python 2.7, que é a versão mais amplamente suportada (embora antiga).
Execute novamente a instalação do pip (pacote), por exemplo
fonte
Encontrei um problema semelhante recentemente. No meu caso, as versões
cffi
ecryptography
escritas em requirements.txt não eram compatíveis (cffi == 1.8.9 e criptografia == 1.9). Resolvi atualizarcffi
com a última versão disponível.fonte
Na verdade, eu encontrei esse mesmo problema ao tentar instalar o Scrapy, que depende da criptografia sendo instalada primeiro. Estou no Win764-bit com o Python 2.7 de 64 bits instalado. A resposta de @ jsonm finalmente funcionou para mim, mas primeiro tive que Copiar
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat
para ox86_amd64
subdir dentro desse diretório bin, paravcvarsall.bat
que parasse de gerar um erro dizendo que estava faltando a configuração. Se você precisar configurar o env vars para uma configuração diferente, copie para o arquivo bat vcvars correspondente no subdiretório correspondente ou o primeiro comando abaixo pode não funcionar.Em seguida, executei o seguinte em uma linha de comando, de acordo com as instruções do @ jsonm (aprimoradas para minha configuração) ...
E funcionou.
fonte
Eu também tive esse erro. Depois de continuar recebendo esse erro, mesmo depois de instalar o openSSL, tentei instalar a partir dos arquivos wheel em https://pypi.python.org/pypi/cryptography/0.2.2#downloads . Funcionou!
fonte
eu baixei o código fonte completo do paramiko do pypi e fiz
instalação do python setup.py
funcionou perfeitamente
todos os pacotes pythondev / openssl / libffi padrão já estão presentes no rhel.
o download de rpms tem incompatibilidade de rpm e mais problemas
fonte
Eu estou tendo o mesmo problema:
Então eu instalo o libffi-devel e o problema está resolvido
fonte
Esses dois comandos o consertaram para mim:
Fonte: https://github.com/phusion/passenger/issues/1630#issuecomment-147527656
fonte
brew link openssl --force
no OS X. Em vez disso, basta atualizar seu pip para a versão mais recente e ele instalará uma roda vinculada estaticamente para cffi e criptografia sem problemas.Eu resolvi isso atualizando da criptografia 1.9 para 2.4.2
fonte