本地 mac AppEngine 上没有名为 Crypto.Cipher 的模块

Posted

技术标签:

【中文标题】本地 mac AppEngine 上没有名为 Crypto.Cipher 的模块【英文标题】:No module named Crypto.Cipher on local mac AppEngine 【发布时间】:2011-07-23 23:02:42 【问题描述】:

没有名为 Crypto.Cipher 的模块

当我尝试导入时

从 Crypto.Cipher 导入 AES

我的文件夹结构如下:

测试/

测试/main.py

测试/pycrypto-2.3

我在 pycrypto 文件夹中运行构建和安装,但我不断收到错误,有什么想法吗?

【问题讨论】:

也许这会有所帮助:***.com/questions/338768/… 【参考方案1】:

它不适用于通常的 easy_install 或运行 setup.py,具体取决于您的 Mac OS X 版本。这是因为 Google App Engine 只允许从某些目录加载库。更多讨论请看这里:http://code.google.com/p/googleappengine/issues/detail?id=1627

【讨论】:

感谢您的链接!对于其他任何人,以下是在 osx 10.8.x 和 sdk 1.7.4 上有效的方法:sudo easy_install -Z pycrypto。我之前尝试过pip install pycrypto,但没有奏效。在上面的文章中,他们解释了原因。【参考方案2】:

你不需要在你的应用中包含 pycrypto;您需要以 Python 库的标准方式安装它。如果你已经这样做了,它不能工作的最可能的原因是你安装了它(例如,使用easy_install),而不是你运行dev_appserver的版本或安装的Python。 Mac 在这方面尤其臭名昭著。确保将它安装在与 dev_appserver 运行的 Python 版本相同的 Python 版本中。

【讨论】:

【参考方案3】:

如果您在用户定义的目录中安装了 pycrypto,请设置 PYTHONHOME。还有

/home/user# python -v
>>> from Crypto.Cipher import AES

会让你知道确切的错误是什么。

【讨论】:

以上是关于本地 mac AppEngine 上没有名为 Crypto.Cipher 的模块的主要内容,如果未能解决你的问题,请参考以下文章

本地 Google App Engine:ImportError:没有名为 google.cloud.bigquery 的模块

在 Cloud Build 上部署到 AppEngine 失败 -- 但不是在本地

Google App Engine:ImportError:没有名为 appengine.tools 的模块

Google App Engine“没有名为 pwd 的模块”

在 AppEngine/GWT 中的客户端本地存储数据

appengine python`PUT/DELETE`在本地主机上工作但不在服务器上