本地 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 的模块