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) cd
( cd ~/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