我在 Python 2.7 下的 GAE 开发环境中成功使用了 Pycrypto 与 2.6。但是,将其部署到 Google 生产环境时,我在日志中看到以下错误:
from Crypto.Cipher import _AES ImportError: cannot import name _AES
我的应用程序.Yaml:
application: appname
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: .*
script: main.app
secure: always
libraries:
- name: webapp2
version: "2.5.2"
- name: pycrypto
version: "2.6"
有问题的 Python 调用:
from Crypto.Cipher import AES
检查 Google 支持文档,他们确实将 Pycrypto 2.6 列为受支持。我还尝试输入“最新”版本并收到相同的错误。再次在我的本地计算机上开发 GAE 时,它运行得很好。
最佳答案
问题已解决。我的 Windows 安装中有一个名为“Crypto”的目录,位于我的 App Engine 项目目录中。当应用程序加载器加载文件时,它还包含此目录,该目录与 Google 在生产中加载的目录相冲突。从本地项目目录中删除此目录解决了下次推送到 Google 时的问题。
关于python - 无法在 Google App Engine 生产中使用 Pycrypto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24252835/