升级Google Cloud SDK 360后Python 2.7 App Engine运行dev_appserver.py报错无法导入apiproxy
问题原因
该错误是Google Cloud SDK 360.0.0版本的已知兼容性缺陷,此版本错误调整了Python 2.7 App Engine标准环境内置ndb库的依赖导入路径,导致本地开发服务器启动时无法找到apiproxy模块。
解决方案
- 方案1(最推荐):降级Google Cloud SDK到无此问题的359.0.0版本
执行以下命令即可完成降级:
如果你是通过apt、yum等系统包管理器安装的gcloud,需要手动查找并安装对应系统的359.0.0版本安装包。gcloud components update --version 359.0.0 - 方案2(临时修复,无需降级):手动修改ndb库的导入代码
找到报错信息中提示的google_imports.py文件,默认路径为:/usr/lib/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/ext/ndb/google_imports.py
将文件第44行的原有代码:
替换为:from google.appengine.runtime import apiproxy as callback
保存文件后重新运行from google.appengine.api import apiproxy_stub_map as callbackdev_appserver.py即可正常启动项目。
内容的提问来源于stack exchange,提问作者danielx
相关产品推荐
相关产品推荐

