【问题标题】:ImportError: No module named 'Crypto' , using AES in pythonImportError: No module named 'Crypto' ,在 python 中使用 AES
【发布时间】:2016-07-06 09:51:46
【问题描述】:

我在 django 项目中使用 Crypto.Cipher.AES,但出现此错误。

我已经用 pip 安装了pycrypto 2.6.1,它确实存在于我的磁盘上,Pycharm 没有显示任何错误并且可以查看 AES.py。

我的电脑是windows 10,python版本是3.5.1,django是1.9.6。

我很困惑,找不到解决方案。非常感谢!

【问题讨论】:

  • @Sayse pycrypto 实际上是最新的并且存在于“xxx\Python\Python35-32\Lib\site-packages”上。是比较问题吗?我是 python 新手。
  • 我使用“from Crypto.Cipher import AES”导入了 AES,编辑器没有显示任何错误以及“from crypto.Cipher import AES”。

标签: python django python-3.5


【解决方案1】:

这似乎是两个问题之一:

  1. 导入冲突,即有另一个名为 Crypto 的模块/文件 python 正在尝试导入。
  2. 您的模块的路径不在 sys.path 中。

要解决 1,检查完整的导入错误堆栈跟踪以查找 Crypto.Cipher.AES 尝试从何处导入,这应该与 Crypto 模块的路径匹配。还要检查名称为Crypto 的任何文件/文件夹是否会导致应用程序中的导入冲突。

要解决 2,请检查您的 sys.path:

import sys print sys.path

这是系统在尝试导入模块时的外观。如果此列表中不存在您的模块的确切路径或根路径,则将找不到该模块。

您可以使用以下命令添加路径: sys.path.append('path/to/your/module')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 2011-04-08
    • 2016-08-09
    • 1970-01-01
    • 2017-02-10
    • 2017-04-15
    • 2018-03-08
    • 2016-12-23
    相关资源
    最近更新 更多