ImportError:没有名为Crypto.Cipher的模块

当我尝试运行app.py(Python 3.3,PyCrypto 2.6)时,我的virtualenv一直返回上面列出的错误。 我的import声明只是from Crypto.Cipher import AES 。 我寻找重复,你可能会说有一些,但我试过的解决scheme(虽然大多数甚至没有解决scheme),没有任何工作。

你可以看到下面的PyCrypto文件是什么样的:

我有同样的问题(虽然在Linux上)。 解决办法很简单 – 增加:

 libraries: - name: pycrypto version: "2.6" 

到我的app.yaml文件。 既然这个过去是正确的,我认为这是一个新的要求。

使用pip安装时,我在Mac上遇到了同样的问题。 然后,我删除了pycrypto并用easy_install再次安装,如下所示:

 pip uninstall pycrypto easy_install pycrypto 

正如Luke评论说的:如果你在运行这些命令时遇到了麻烦,一定要以admin(sudo)身份运行它们,

希望这可以帮助!

我在Mac上也遇到了这个问题,而且似乎与通过pip在pycrypto旁边安装一个名为“crypto”的模块(不知道是什么)有关。

修复似乎是删除encryption和pycrypto与点:

 sudo pip uninstall crypto sudo pip uninstall pycrypto 

并重新安装pycrypto:

 sudo pip install pycrypto 

现在,当我做这样的事情时,它会按预期工作:

 from Crypto.Cipher import AES 

在Mac上…如果你碰到这个..试着看看你是否可以导入encryption呢?

如果是这样的话,那么软件包名称就是问题C vs c 。 为了解决这个问题,只需将这些行添加到脚本的顶部。

 import crypto import sys sys.modules['Crypto'] = crypto 

你知道应该能够成功导入paramiko。

键入命令:

 sudo pip install pycrypto 

由于使用GoogleAppEngineLauncher(版本> 1.8.X)和OSX 10.8.5(Mountain Lion)上的GAE Boilerplate,我有同样的问题'ImportError: No module named Crypto.Cipher' 。 在使用python 2.7运行时的Google App Engine SDK中,pyCrypto 2.6是build议的版本。 为我工作的解决scheme是…

1)下载pycrypto2.6源码解压到某处( ~/Downloads/pycrypto26

例如,git克隆https://github.com/dlitz/pycrypto.git

2) cdcd ~/Downloads/pycrypto26 )然后

3)在上一个文件夹中执行下面的terminal命令,以便在GAE文件夹中手动安装pyCrypto 2.6。

 sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine 

我find了解决scheme。 问题可能是大小写敏感的(在Windows上)。

只需更改文件夹的名称:

  • C:\Python27\Lib\site-packages\crypto
  • 到: C:\Python27\Lib\site-packages\Crypto

这就是安装pycrypto后文件夹的命名方式: 在这里输入图像说明

我已经将其更改为: 在这里输入图像说明

现在下面的代码工作正常: 在这里输入图像说明

如果你使用的是redhat,fedora,centos:

sudo yum install pycrypto

对于我的情况,我不会使用pip来安装它

卸载crypto和pycrypto对我有用。 然后只安装pycrypto。 pip卸载crypto pip卸载pycrypto pip安装pycrypto

对于Windows 7:

我通过这个错误“Module error Crypo.Cipher import AES”

要在Windows中安装Pycrypto,

在命令提示符下试试这个,

设置path= C:\ Python27 \ Scripts(即easy_install所在的path)

然后执行以下操作,

easy_install pycrypto

对于Ubuntu:

尝试这个,

从“ https://pypi.python.org/pypi/pycrypto ”下载Pycrypto

然后使用terminal将当前path更改为下载path:

例如:root @ xyz-virtual-machine:〜/ pycrypto-2.6.1#

然后使用terminal执行以下操作:

python setup.py安装

这对我有用。 希望适用于所有..

我通过将第一个字母的大小写更改为upper来解决这个问题。 确保从Crypto.Cipher导入AES''''不是'从crypto.Cipher导入AES''。

这个问题可以通过安装C ++编译器(python27或python26)来解决。 从微软下载它https://www.microsoft.com/en-us/download/details.aspx?id=44266并重新运行命令:; pip install pycrypto运行gui web访问,当你pip install pycrypto easy_install.exe

尝试使用pip3

 sudo pip3 install pycrypto 

这可能是加载通过pip安装的python模块的问题。 参考这个答案不能加载从站点包目录通过pip安装的Python模块,并尝试类似的东西

 python -m pip install pycrypto