私のubuntuは14.04 LTSです。
暗号化をインストールすると、エラーは次のようになります。
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
なぜ失敗したのかわかりません。理由は何ですか。 Ubuntuシステムにインストールするときに何か必要なものはありますか?
答えはcryptography
の インストールセクション のドキュメントにあります。これは、Angelosの答えをほとんど反映しています。
引用:
DebianおよびUbuntuの場合、次のコマンドは必要な依存関係がインストールされていることを確認します。
$ Sudo apt-get install build-essential libssl-dev libffi-dev python-dev
FedoraおよびRHEL-derivativesの場合、次のコマンドは必要な依存関係がインストールされていることを確認します:
$ Sudo yum install gcc libffi-devel python-devel openssl-devel
これで、通常の暗号化を構築してインストールできるはずです。
$ pip install cryptography
Ubuntu 14.04に暗号化モジュールをpipインストールするときに同じ問題が発生しました。 libffi-devをインストールして解決しました。
apt-get install -y libffi-dev
その後、次のエラーが発生しました:
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
Libssl-devをインストールすることで解決しました:
apt-get install -y libssl-dev
Libssl-devとpython-devをインストールすれば、ubuntu 16.04で十分です。