我在Python 2.7下的GAE开发环境中成功使用了Pycrypto与2.6。但是,将其部署到Google生产我在日志中看到以下错误:
from Crypto.Cipher import _AES ImportError: cannot import name _AES
我的App.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。我也试图为版本输入“latest”并收到同样的错误。再次在我的本地机器上开发GAE它完美地工作。
答案 0 :(得分:1)
问题已解决。我的Windows安装目录名为" Crypto"在我的App Engine项目目录中。当app加载程序加载文件时,它还包含此目录,该目录与Google在生产中加载的内容相冲突。从本地项目目录中删除此目录解决了下次推送到Google时的问题。