python - ImportError:没有名为Crypto.Ciph的模块
当我尝试运行app.py(Python 3.3,PyCrypto 2.6)时,我的virtualenv不断返回上面列出的错误。 我的导入声明只是from Crypto.Cipher import AES.我寻找重复项,你可能会说有一些,但我尝试了解决方案(虽然大多数甚至不是解决方案)并没有任何效果。
您可以在下面看到PyCrypto的文件:
18个解决方案
171 votes
我在安装247427416168280985时在Mac上遇到了同样的问题。然后我删除了pycrypto并再次安装了easy_install,如下所示:
pip uninstall pycrypto
easy_install pycrypto
也正如Luke评论的那样:如果您在运行这些命令时遇到问题,请确保以管理员身份运行它们(sudo)
希望这可以帮助!
elad silver answered 2019-08-10T05:45:51Z
86 votes
我也在Mac上遇到了这个问题,这似乎与一个不幸的同样名字"加密" 模块(不知道是什么用)通过pip安装在pycrypto旁边。
修复似乎是删除加密和pycrypto与pip:
sudo pip uninstall crypto
sudo pip uninstall pycrypto
并重新安装pycrypto:
sudo pip install pycrypto
现在,当我执行以下操作时,它按预期工作:
from Crypto.Cipher import AES
user42935 answered 2019-08-10T05:46:38Z
51 votes
我有同样的问题(虽然在Linux上)。 解决方案非常简单 - 添加:
libraries:
- name: pycrypto
version: "2.6"
到我的app.yaml文件。 由于这在过去是正常的,我认为这是一个新的要求。
Patrick Jordan answered 2019-08-10T05:45:17Z
28 votes
在Mac上...如果遇到这个...尝试看看你是否可以导入加密?
如果是这样..软件包名称是问题C vs c.要解决这个问题..只需将这些行添加到脚本的顶部即可。
import crypto
import sys
sys.modules['Crypto'] = crypto
你知道应该能够成功导入paramiko。
pho answered 2019-08-10T05:47:20Z
16 votes
type命令:
sudo pip install pycrypto
ruxming answered 2019-08-10T05:47:47Z
15 votes
我找到了解决方案。 问题可能是灵敏度(在Windows上)。
只需更改文件夹的名称:
C:\Python27\Lib\site-packages\Crypto
发送至:C:\Python27\Lib\site-packages\Crypto
这是安装pycrypto后命名文件夹的方式:
我已将其更改为:
现在以下代码工作正常:
damian1baran answered 2019-08-10T05:48:59Z
11 votes
卸载crypto和pycrypto对我有用。 然后只安装pycrypto:
pip uninstall crypto
pip uninstall pycrypto
pip install pycrypto
tthreetorch answered 2019-08-10T05:49:27Z
8 votes
如果你使用redhat,fedora,centos:
sudo yum install pycrypto
对于我的情况,我不能使用pip安装它
hamed answered 2019-08-10T05:50:09Z
8 votes
我有同样的问题cd,因为在OSX 10.8.5(Mountain Lion)上使用了GoogleAppEngineLauncher(版本> 1.8.X)和GAE Boilerplate。 在使用python 2.7运行时的Google App Engine SDK中,pyCrypto 2.6是建议的版本。对我有用的解决方案是......
1)下载pycrypto2.6源程序提取它(cd)
例如,git clone [https://github.com/dlitz/pycrypto.git]
2)cd(cd ~/Downloads/pycrypto26)然后
3)在上一个文件夹中执行以下终端命令,以便在GAE文件夹中手动安装pyCrypto 2.6。
sudo python setup.py install --install-lib /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine
Lazaros Dinakis answered 2019-08-10T05:51:05Z
3 votes
尝试使用pip3:
sudo pip3 install pycrypto
Arthur Araújo answered 2019-08-10T05:51:33Z
2 votes
这可能是加载通过pip安装的python模块的问题。 请参阅此答案无法从site-packages目录加载通过pip安装的Python模块,并尝试类似的方法
python -m pip install pycrypto
user666N answered 2019-08-10T05:52:04Z
2 votes
对于CentOS 7.4,我首先使用pip安装pip然后使用pycrypto:
> sudo yum -y install python-pip
> sudo python -m pip install pycrypto
stuhpa answered 2019-08-10T05:52:36Z
1 votes
对于Windows 7:
我遇到了这个错误"模块错误Crypto.Cipher导入AES#34;
要在Windows中安装Pycrypto,
在命令提示符中尝试此操作,
设置path = C:\ Python27 \ Scripts(即easy_install所在的路径)
然后执行以下操作,
easy_install pycrypto
对于Ubuntu:
试试这个,
从" [https://pypi.python.org/pypi/pycrypto"]下载Pycrypto
然后使用终端将当前路径更改为下载路径:
例如:root @ xyz-virtual-machine:〜/ pycrypto-2.6.1#
然后使用终端执行以下操作:
python setup.py安装
它对我有用。 希望适合所有人..
JayaPrakash answered 2019-08-10T05:54:12Z
1 votes
我通过将第一个字母的大小写改为upper来解决这个问题。确保从Crypto.Cipher导入AES''' 不是来自crypto.Cipher导入AES''。
Zesheng LI answered 2019-08-10T05:54:41Z
1 votes
可以通过安装C ++编译器(python27或python26)来解决此问题。 从Microsoft [https://www.microsoft.com/en-us/download/details.aspx?id=44266]下载并重新运行命令:pip install pycrypto以在您终止进程时运行gui Web访问easy_install.exe。
user8094201 answered 2019-08-10T05:55:12Z
1 votes
为我工作(Ubuntu 17.10)
删除venv并使用python v3.6再次创建它
pip3 install PyJWT
sudo apt-get install build-essential libgmp3-dev python3-dev
pip3 install cryptography
pip3 install pycryptodome
pip3 install pycryptodomex
Pycrypto已弃用,有问题,使用Pycryptodome
applekate answered 2019-08-10T05:56:03Z
1 votes
到目前为止,我在导入from Crypto.Cipher import AES时遇到了同样的问题,即使我已经安装/重新安装pycrypto几次。 结束它是因为pip默认为python3。
~ pip --version
pip 18.0 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
用pip2安装pycrypo应该可以解决这个问题。
Ryan answered 2019-08-10T05:56:57Z
0 votes
也许你应该这样:pycryptodome==3.6.1将它添加到requirements.txt并安装,这应该消除错误报告。这个对我有用!
imissyou answered 2019-08-10T05:57:28Z