App Engine Python 2.7 - ImportError:无法导入名称 apiproxy

Posted

技术标签:

【中文标题】App Engine Python 2.7 - ImportError:无法导入名称 apiproxy【英文标题】:App Engine Python 2.7 - ImportError: cannot import name apiproxy 【发布时间】:2021-11-26 14:43:45 【问题描述】:

升级到 Google Cloud SDK 360.0.0-0 后,我在为我的 Python 2.7 App Engine 项目运行 dev_appserver.py 命令时开始看到以下错误。

  File "/home/..................py", line 6, in <module>
    from google.appengine.ext import ndb
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/ext/ndb/__init__.py", line 22, in <module>
    from tasklets import *
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/ext/ndb/tasklets.py", line 85, in <module>
    from .google_imports import apiproxy_stub_map
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/python27/sdk/google/appengine/ext/ndb/google_imports.py", line 44, in <module>
    from google.appengine.runtime import apiproxy as callback
ImportError: cannot import name apiproxy

gcloud 版本

Google Cloud SDK 360.0.0
alpha 2021.10.04
app-engine-python 1.9.95
app-engine-python-extras 1.9.95
beta 2021.10.04
bq 2.0.71
cloud-build-local 0.5.2
cloud-datastore-emulator 2.1.0
core 2021.10.04
gsutil 5.3

【问题讨论】:

【参考方案1】:

编辑

Google Cloud SDK 版本 371 似乎已解决此问题


在我基于 debian 的系统上,我通过将 app-engine-python 组件降级到以前的版本来修复它

sudo apt-get install google-cloud-sdk-app-engine-python=359.0.0-0
sudo apt-get install google-cloud-sdk-app-engine-python-extras=359.0.0-0

gcloud 版本(降级后)

Google Cloud SDK 360.0.0
alpha 2021.10.04
app-engine-python 1.9.94
app-engine-python-extras 1.9.95
beta 2021.10.04
bq 2.0.71
cloud-build-local 0.5.2
cloud-datastore-emulator 2.1.0
core 2021.10.04
gsutil 5.3

我为这个错误创建了一个问题:https://issuetracker.google.com/issues/202171426

【讨论】:

Windows 用户(比如我)的一个大问题 - 没有类似 apt-get 可以帮助解决这个问题。 有谁知道它是否已修复,我们现在有 SDK 版本 362 @Michael 我今天早上尝试了 362,但仍然无法正常工作。此外,app-engine-python-extras&gt;=361 似乎与app-engine-python&lt;361 不兼容,因此如果app-engine-python 降级,则必须降级app-engine-python-extras【参考方案2】:

对于windows你可以试试这个

gcloud components update --version 355.0.0

【讨论】:

【参考方案3】:

Google-cloud-sdk 版本 364 仍未解决。 Windows 或 mac 用户可以试试这个:

gcloud components update --version 359.0.0

(359版本还包括'app-engine-python-extras'=1.9.94。所以效果很好。)

【讨论】:

这对我有用:github.com/material-motion/direct

以上是关于App Engine Python 2.7 - ImportError:无法导入名称 apiproxy的主要内容,如果未能解决你的问题,请参考以下文章

Google App Engine 上的错误 Python 2.7 - 无法使用 CGI 处理程序启用线程安全

在 Mac OS X 10.6 上使用带有 Python 2.7 的 Google App Engine SDK

Python 3.7 上的 Flask 比具有 Google App Engine 标准环境的 Python 2.7 上的 webapp2 要求更高(也更昂贵)

在 App Engine Standard python 中使用 Google Stackdriver Logging 时出错

Python - Google App Engine - Django 模板中的方法

App Engine标准环境中的Python 3快速入门