Wie installiere ich Kryptographie auf Ubuntu?

70

Mein Ubuntu ist 14.04 LTS.

Wenn ich Kryptografie installiere, ist der Fehler:

Installing egg-scripts.
uses namespace packages but the distribution does not require setuptools.
Getting distribution for 'cryptography==0.2.1'.

no previously-included directories found matching 'documentation/_build'
zip_safe flag not set; analyzing archive contents...
six: module references __path__

Installed /tmp/easy_install-oUz7ei/cryptography-0.2.1/.eggs/six-1.10.0-py2.7.egg
Searching for cffi>=0.8
Reading https://pypi.python.org/simple/cffi/
Best match: cffi 1.5.0
Downloading https://pypi.python.org/packages/source/c/cffi/cffi-1.5.0.tar.gz#md5=dec8441e67880494ee881305059af656
Processing cffi-1.5.0.tar.gz
Writing /tmp/easy_install-oUz7ei/cryptography-0.2.1/temp/easy_install-Yf2Yl3/cffi-1.5.0/setup.cfg
Running cffi-1.5.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-oUz7ei/cryptography-0.2.1/temp/easy_install-Yf2Yl3/cffi-1.5.0/egg-dist-tmp-A2kjMD
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
 #include <ffi.h>
                 ^
compilation terminated.
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
An error occurred when trying to install cryptography 0.2.1. Look above this message for any errors that were output by easy_install.
While:
  Installing egg-scripts.
  Getting distribution for 'cryptography==0.2.1'.
Error: Couldn't install: cryptography 0.2.1

Ich weiß nicht, warum es fehlgeschlagen ist. Was ist der Grund. Ist bei der Installation auf dem Ubuntu-System etwas erforderlich?

ithelloworld
quelle
1
Bitte lesen Sie den Linux-Teil der Dokumentation: cryptography.io/en/latest/installation
Klaus D.
@KlausD. Vielen Dank. Ich habe das Dokument nicht sorgfältig geprüft. Nachdem ich die erforderlichen Ubuntu-Pakete installiert habe, kann ich die Kryptografie erfolgreich installieren. Aber als ich versuchte, es unter Mac OS X zu installieren, gab es auch einen Fehler : cffi.ffiplatform.VerificationError: CompileError: command 'clang' failed with exit status 1. Ich denke, diese Zeit ist aufgrund meines Systems etwas Besonderes.
ithelloworld
Das sollte zunächst eine neue Frage oder eine Google-Abfrage sein.
Klaus D.
@KlausD. Ja, ich werde eine neue Frage stellen. Vielen Dank dafür. Wenn Sie die Antwort hier schreiben möchten, werde ich sie akzeptieren.
ithelloworld
@ithelloworld bitte erwägen Sie "accep" -ting eine Antwort.
kmonsoor

Antworten:

129

Die Antwort ist auf der Dokumentation von cryptography‚s - Installationsabschnitt , der so ziemlich reflektiert Angelos‘ Antwort:

Zitiert es:

Für Debian und Ubuntu stellt der folgende Befehl sicher, dass die erforderlichen Abhängigkeiten installiert sind:

$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev

Für Fedora- und RHEL-Derivate stellt der folgende Befehl sicher, dass die erforderlichen Abhängigkeiten installiert sind:

$ sudo yum install gcc libffi-devel python-devel openssl-devel

Sie sollten nun in der Lage sein, Kryptografie mit den üblichen Funktionen zu erstellen und zu installieren

$ pip install cryptography

Wenn Sie Python 3 verwenden, verwenden Sie bitte python3-devanstelle vonpython-dev ersten Befehls. (danke an @chasmani)

Wenn Sie dies installieren Ubuntu 18.04, verwenden Sie bitte libssl1.0anstelle des libssl-deversten Befehls. (danke an @pobe)

kmonsoor
quelle
5
Sie benötigen auch python3-dev, wenn Sie python3 verwenden. Also sudo apt-get install python3-dev
chasmani
4
Ubuntu 18.04: apt install libssl1.0 , ich habe ewig gebraucht , um es zu finden.
Pobe
1
@Pobe DANKE !!! Ich habe ewig gebraucht, um
Folgendes
@Pobe - danke! Ich habe viel zu lange versucht herauszufinden, dass ich libssl1.0 installieren muss.
Eric D. Brown
1
@chasmani: Ich habe in Ihre Antworten aufgenommen, um das Auffinden zu erleichtern. Vielen Dank.
kmonsoor
48

Ich hatte das gleiche Problem bei der Installation des Kryptografiemoduls unter Ubuntu 14.04. Ich habe es durch die Installation von libffi-dev gelöst:

apt-get install -y libffi-dev

Dann habe ich folgenden Fehler bekommen:

build/temp.linux-x86_64-3.4/_openssl.c:431:25: fatal error: openssl/aes.h: No such file or directory
 #include <openssl/aes.h>
                         ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Was ich durch die Installation von libssl-dev gelöst habe:

apt-get install -y libssl-dev
Angelos
quelle
1

Die Installation von libssl-dev und python-dev hat mir unter Ubuntu 16.04 gereicht.

Renato Prado
quelle
Konnten Sie es herausfinden?
Zorpho