Lorsque j'essaie d'installer le package Cryptography pour Python via pip install cryptography
ou en téléchargeant le package à partir de leur site et en exécutant python setup.py
, le message d'erreur suivant s'affiche:
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
J'ai trouvé d'autres messages d'erreur Egg_info ( ici et ici ), mais les solutions proposées ne résoudraient pas mon problème. De plus, je peux installer d'autres paquets via PIP.
PIP version 1.5.4 setuptools version 2.2
J'ai eu un problème similaire et j'ai constaté qu'il me manquait simplement une dépendance (libssl-dev, pour moi). Comme indiqué dans https://cryptography.io/en/latest/installation/ , assurez-vous que toutes les dépendances sont remplies:
Si vous utilisez Windows, vous devez vous assurer d’avoir installé OpenSSL. Il existe des fichiers binaires pré-compilés. Si votre installation se trouve dans un emplacement inhabituel, définissez les variables d’environnement LIB et INCLUDE pour inclure les emplacements correspondants. Par exemple:
C:\> \path\to\vcvarsall.bat x86_AMD64
C:\> set LIB=C:\OpenSSL-1.0.1f-64bit\lib;%LIB%
C:\> set INCLUDE=C:\OpenSSL-1.0.1f-64bit\include;%INCLUDE%
C:\> pip install cryptography
la cryptographie devrait être très facile à compiler sous Linux à condition que vous ayez un compilateur C, des en-têtes pour Python (si vous utilisez n’utilisez pas pypy) et des en-têtes pour les bibliothèques OpenSSL et libffi disponibles sur votre système.
Pour Debian et Ubuntu, la commande suivante vérifiera que les dépendances requises sont installées:
Sudo apt-get install build-essential libssl-dev libffi-dev python-dev
Pour Fedora et les dérivés RHEL, la commande suivante garantira que les dépendances requises sont installées:
Sudo yum install gcc libffi-devel python-devel openssl-devel
Vous devriez maintenant être capable de construire et d’installer la cryptographie avec l’habitude.
pip install cryptography
Ceci est une version condensée des informations figurant sur la page de installation docs de cryptographie. Consultez cette page pour obtenir les détails les plus récents.
Étant donné que cette SO question ne cesse de se poser, je laisserai tomber une réponse ici aussi (je suis l'un des développeurs de pyca/cryptographie). Voici ce dont vous avez besoin pour installer de manière fiable pyca/cryptographie sur les 3 principales plates-formes.
Veuillez noter que dans tous ces cas, il est vivement recommandé d'installer dans un virtualenv et non dans l'espace global du package. Ceci n'est pas spécifique à la cryptographie mais plutôt à un conseil générique pour que votre installation Python reste fiable. L'espace de paquet global dans le système d'exploitation fourni Pythons est la propriété du système et installer des éléments via pip dans le système pose des problèmes.
Les fenêtres
Passez au dernier pip (8.1.2 à compter de juin 2016) et juste pip install cryptography
cryptographie et cffi sont tous deux expédiés sous forme de roues liées statiquement.
OS X
Passez au dernier pip (8.1.2 à compter de juin 2016) et juste pip install cryptography
cryptographie et cffi sont tous deux expédiés sous forme de roues liées statiquement. Cela fonctionnera pour pyenv Python, système Python, homebrew Python, etc. Tant que vous êtes sur le dernier pip, vous n'avez même pas besoin d'un compilateur.
Linux
A partir de la version 2.0, la cryptographie est livrée avec les roues manylinux1. Cela signifie que les utilisateurs de pip 8.1 ou supérieur fonctionnant sur une distribution basée sur la glibc (presque tout sauf sur Alpine Linux) et sur x86/x86-64 (désolés gens de Raspberry Pi) n'ont plus besoin d'un compilateur ni d'en-têtes, car vous aurez automatiquement une roue précompilée . Donc, la première chose que vous devriez essayer est de mettre à jour votre pip!
Si vous n'êtes pas compatible manylinux1, voici ce que vous devez faire:
Vous aurez besoin d'un compilateur C, de libffi + ses en-têtes de développement et de openssl + ses en-têtes de développement.
Distributions dérivées Debian ou Ubuntu
apt-get install build-essential libssl-dev libffi-dev python-dev
suivi de
pip install cryptography
Distributions dérivées de Red Hat
yum install gcc openssl-devel libffi-devel python-devel
suivi de
pip install cryptography
Pour ceux qui utilisent OS X, voici ce qui a fonctionné pour moi:
brew install openssl
env ARCHFLAGS="-Arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include"
pip install cryptography
(Courir 10.9 Mavericks)
Vous pouvez également essayer de fusionner les drapeaux et les commandes pip avec le commentaire ci-dessous:
brew install openssl
env ARCHFLAGS="-Arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
Cela a résolu le problème pour moi (Ubuntu 16.04):
Sudo apt-get install build-essential libssl-dev libffi-dev python-dev python3-dev
et puis ça fonctionnait comme ça:
pip install cryptography
pip install pyopenssl ndg-httpsclient pyasn1
Cela a fonctionné pour moi à El Capitan
brew install pkg-config libffi openssl
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography
Vous pouvez également consulter le fil ici: https://github.com/pyca/cryptography/issues/2350
Comment j'ai résolu "Échec de nettoyage du répertoire de compilation pour la cryptographie"
(Je suis venu ici de Google pour obtenir cette erreur.)
note: utiliser un virtualenv
mon fichier /etc/apt/sources.list
n'a pas été correctement configuré pour ma Debian 8.
Je voulais installer paramiko ..__ paramiko a besoin de cryptographie.
J'ai eu ces erreurs: D'abord avec pip install cryptography
:
(...)
----------------------------------------
Failed cleaning build dir for cryptography
Failed to build cryptography
(...)
----------------------------------------
Command "/home/myuser/pyenvs/testo/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-HXWKAO/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-WjqY6V-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/myuser/pyenvs/testo/include/site/python2.7/cryptography" failed with error code 1 in /tmp/pip-build-HXWKAO/cryptography/
puis avec Sudo apt-get install build-essential
:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: libc6-dev but it is not going to be installed > or
libc-dev
Depends: gcc (>= 4:4.4.3) but it is not going to be installed
Depends: g++ (>= 4:4.4.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
(Pas exactement les mêmes erreurs que OP mais je suis ici pour aider éventuellement)
Après avoir testé presque toutes les commandes de tous les posts, je finis par y aller
https://wiki.debian.org/SourcesList
et copie collée ma configuration adéquate dans le fichier /etc/apt/sources.list
puis:
Sudo aptitude update
et alors
Sudo apt-get install build-essential libssl-dev libffi-dev python-dev
et alors
pip install cryptography
hth
Apparemment, dans les versions récentes d’OSX, cela pourrait être causé par la livraison par Apple de leur propre version de OpenSSL, qui ne fonctionne pas avec la bibliothèque de cryptographie.
Les versions récentes de la bibliothèque de cryptographie sont livrées avec leurs propres dépendances natives, mais pour les obtenir, vous devez mettre à niveau pip et éventuellement aussi env virtuel. Donc pour moi, la solution était:
pip install --upgrade --force-reinstall pip virtualenv
Cela a fonctionné pour moi (j'utilise Ubuntu 14.04):
installez d'abord libffi-dev libssl-dev libpython2.7-dev:
Sudo apt-get install libffi-dev libssl-dev libpython2.7-dev
puis dans virtualenv:
pip install cryptography
pip install pyopenssl ndg-httpsclient pyasn1
Sources:
La réponse de Nick Woodham ne fonctionnait pas sous OSX 10.11 El Capitan pour moi, mais cela fonctionnait.
brew install openssl
CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography==0.8
J'avais des problèmes avec l'installation de cryptography==1.7.1
sur Ubuntu 16.04 et aucune des réponses ci-dessus ne m'a aidé. Donc, j'ai mis à jour l'exigence pour un compatible 1.8.2 et la configuration a réussi. Notez que vous aurez toujours besoin de compiler les bases et autres dépendances mentionnées dans la réponse top (la plus votée) .
J'ai essayé plusieurs solutions ci-dessus, mais ce n'est qu'après l'installation de la bibliothèque suivante que j'ai pu installer cryptography
:
Sudo apt install libssl1.0
J'utilise Ubuntu 18.04
Si vous utilisez python3, vous devez installer python3-dev
. Cela a résolu mon problème Sudo apt-get install python3-dev
.
J'avais un problème avec Sudo pip install cryptography
car il ne trouvait pas ffi lors de la compilation. (OSX - Yosemite)
Je l'ai résolu en téléchargeant libffi et en configurant la variable env.
$ brew install pkg-config libffi
$ export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/
$ pip install cryptography
Cela fonctionne sur El Capitan avec MacPorts:
$ Sudo port install openssl
$ env LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
J'ai remarqué que l'affiche originale utilisait clairement une installation Windows ... et les meilleures réponses ci-dessus concernent toutes les autres systèmes d'exploitation ... Cela suppose que vous avez installé Python 2.7, la version la plus largement prise en charge (bien que l'ancienne).
Relancez pip install (package), par exemple.
cd C:\Python27\Scripts
pip install cryptography (or pycrypto, fabric, etc)
En fait, j'ai rencontré le même problème en essayant d'installer Scrapy, qui dépend de l'installation préalable de la cryptographie. Je suis sur Win764-bit avec Python 2.7 64-bit installé. La réponse de @ jsonm a finalement fonctionné pour moi, mais je devais d'abord copier C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_AMD64.bat
dans le sous-répertoire x86_AMD64
de ce répertoire bin afin que le vcvarsall.bat
cesse de générer une erreur indiquant qu'il manquait la configuration. Si vous avez besoin de configurer env vars pour une configuration différente, veillez à copier le fichier vcvars bat correspondant dans le sous-répertoire correspondant, sinon la première commande ci-dessous risque de ne pas fonctionner.
Ensuite, j'ai lancé ce qui suit à partir d'une ligne de commande, conformément aux instructions de @ jsonm (modifié pour ma config) ...
C:\> "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_AMD64
C:\> set LIB=C:\OpenSSL-Win64\lib;%LIB%
C:\> set INCLUDE=C:\OpenSSL-Win64\include;%INCLUDE%
C:\> pip install cryptography
Et ça a fonctionné.
J'ai rencontré un problème similaire récemment. Dans mon cas, les versions de cffi
et cryptography
écrites dans requirements.txt n'étaient pas compatibles (cffi == 1.8.9 et cryptographie == 1.9). J'ai résolu la mise à jour cffi
avec la dernière version disponible.
j'ai téléchargé le code source complet de paramiko à partir de pypi et je l'ai fait
installation de python.py
cela a fonctionné parfaitement
tous les paquets pythondev/openssl/libffi par défaut sont déjà présents dans rhel.
le téléchargement de RPM a une discordance RPM et plus de problèmes
J'ai eu cette erreur aussi. Après avoir continué à avoir cette erreur même après avoir installé openSSL, j’ai finalement essayé d’installer des fichiers wheel à partir de https://pypi.python.org/pypi/cryptography/0.2.2#downloads . Ça a marché!
Ces deux commandes l'ont corrigé pour moi:
brew install openssl
brew link openssl --force
Source: https://github.com/phusion/passenger/issues/1630#issuecomment-147527656
J'ai résolu ce problème en passant de la cryptographie 1.9 à la version 2.4.2.
J'ai le même problème:
pip install cryptography
.
.
.
Installing collected packages: cffi, cryptography
Running setup.py install for cffi ... error
Ensuite, j'installe libffi-devel et le problème est résolu
yum install libffi-devel