问题描述
我的 ubuntu 是 14.04 LTS.
My ubuntu is 14.04 LTS.
当我安装密码学时,错误是:
When I install cryptography, the error is:
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 http://www.51sjk.com/Upload/Articles/1/0/334/334623_20221027140613661.jpg Best match: cffi 1.5.0 Downloading http://www.51sjk.com/Upload/Articles/1/0/334/334623_20221027140618052.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系统上安装有什么必要的吗?
I don't know why it was failed. What is the reason. Is there something necessary when install it on ubuntu system?
推荐答案
答案在 cryptography 的 安装部分 这几乎反映了 Angelos 的回答:
The answer is on the docs of cryptography's installation section which pretty much reflects Angelos' answer:
引用它:
对于 Debian 和 Ubuntu,以下命令将确保已安装所需的依赖项:
For Debian and Ubuntu, the following command will ensure that the required dependencies are installed:
$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev
对于 Fedora 和 RHEL 衍生产品,以下命令将确保已安装所需的依赖项:
For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed:
$ sudo yum install gcc libffi-devel python-devel openssl-devel
您现在应该能够使用平常的
You should now be able to build and install cryptography with the usual
$ pip install cryptography
如果您使用的是 Python 3,请在第一个命令中使用 python3-dev 而不是 python-dev.(感谢@chasmani)
If you're using Python 3, please use python3-dev instead of python-dev in the first command. (thanks to @chasmani)
如果您在 Ubuntu 18.04 上安装它,请在第一个命令中使用 libssl1.0 而不是 libssl-dev.(感谢@pobe)
If you're installing this on Ubuntu 18.04, please use libssl1.0 instead of libssl-dev in the first command. (thanks to @pobe)