如何在ubuntu上安装加密技术?


70

我的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系统上安装时是否有必要?


1
请阅读文档的Linux部分:cryptography.io/en/latest/installation
Klaus D.

@KlausD。谢谢。我没有仔细检查文件。安装必要的ubuntu软件包后,我可以成功安装密码。但是,当我尝试在Mac OS X上安装它时,也出现了错误:cffi.ffiplatform.VerificationError: CompileError: command 'clang' failed with exit status 1。由于系统原因,我认为这次很特别。
ithelloworld '16

首先应该是一个新问题或一个Google查询。
克劳斯D.16年

@KlausD。是的,我将发布一个新问题。非常感谢你。如果您想在这里写下答案,我会接受的。
ithelloworld '16

@ithelloworld,请考虑“接受”-给出答案。
kmonsoor

Answers:


129

答案在cryptography安装”部分的文档上,该文档几乎反映了Angelos的答案:

引用:

对于Debian和Ubuntu,以下命令将确保已安装必需的依赖项:

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

对于Fedora和RHEL派生产品,以下命令将确保已安装必需的依赖项:

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

现在,您应该可以使用通常的方法来构建和安装密码了

$ pip install cryptography

如果您使用的是Python 3,请在第一个命令中使用python3-dev代替python-dev。(感谢@chasmani)

如果您要在上安装此软件Ubuntu 18.04,请在第一个命令中使用libssl1.0代替libssl-dev。(感谢@pobe)


5
如果您正在使用python3,则还需要python3-dev。所以sudo apt-get install python3-dev
chasmani

4
Ubuntu 18.04:易于安装libssl1.0,让我永远找不到它。
Pobe

1
@Pobe谢谢!!!我花了永远地发现:PI创建一个单独的问题,希望能够帮助未来的人:stackoverflow.com/questions/57684081
cdrini

@Pobe-谢谢!我花了太长时间试图弄清楚我需要安装libssl1.0。
埃里克·布朗

1
@chasmani:我已将您的回复包括在内,以使其更易于查找。谢谢。
kmonsoor

48

当在Ubuntu 14.04上安装加密模块时,我遇到了同样的问题。我通过安装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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.