【问题标题】:Unable to start App Engine application after updating it via Google Cloud SDK通过 Google Cloud SDK 更新 App Engine 应用程序后无法启动它
【发布时间】:2015-05-06 22:03:01
【问题描述】:

最近,我在 Windows 7 64 位中使用命令“gcloud components update”,通过Google Cloud SDK 将 Google App Engine 从 1.9.17 更新到 1.9.18。之后,我无法使用 App Engine 启动器启动任何项目。收到此错误:

Traceback (most recent call last):
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 83, in <module>
    _run_file(__file__, globals())
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\dev_appserver.py", line 79, in _run_file
    execfile(_PATHS.script_file(script_name), globals_)
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\devappserver2.py", line 36, in <module>
    from google.appengine.tools.devappserver2 import dispatcher
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\dispatcher.py", line 29, in <module>
    from google.appengine.tools.devappserver2 import module
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\module.py", line 71, in <module>
    from google.appengine.tools.devappserver2 import vm_runtime_factory
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\vm_runtime_factory.py", line 25, in <module>
    from google.appengine.tools.devappserver2 import vm_runtime_proxy
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\vm_runtime_proxy.py", line 29, in <module>
    from google.appengine.tools.devappserver2 import log_manager
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\devappserver2\log_manager.py", line 34, in <module>
    from google.appengine.tools.docker import containers
  File "C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\docker\containers.py", line 47, in <module>
    import docker
ImportError: No module named docker
2015-03-05 19:11:27 (Process exited with code 1)

我什至安装了最新的 Google Cloud SDK,但我遇到了同样的错误。

我能够安装appengine SDK 1.9.18(不使用 Google Cloud SDK)并且能够成功运行该项目。

此错误仅发生在 Windows 7 中通过 Google Cloud SDK 安装的 App Engine 启动器。

App Engine 问题跟踪器中提出了此问题:Issue 125。我建议你为这个问题加注星标。

【问题讨论】:

  • 我没有要检查的 Windows 机器,但显然 C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\docker 没有正确安装 -- 你能检查那个目录是否存在以及里面有什么吗?最坏的情况,你应该可以从github.com/docker/docker-py 得到它...
  • 是的,它在那里。我已经在另一个系统中安装了 Google Cloud SDK。那里也有同样的问题。

标签: python windows google-app-engine google-cloud-platform gcloud


【解决方案1】:

我今天发生了这种情况,重新安装了app engine sdk。我无法在启动器中运行我的代码。

我记得读到没有使用pip app engine,但现在我已经解决了这个问题。

简而言之,我所做的是:

  1. 安装piphttps://pip.pypa.io/en/latest/installing.html的足迹(这样也正确安装了setuptools)

  2. 通过 pip 安装 docker-py:pip install docker-py 并准备就绪,我现在可以在启动器中运行我的代码

附: 之前尝试安装docker-py包,从https://github.com/docker/docker-py下载,但是缺少setuptools,下载安装包没有用。所以将它与 pip 一起使用。

【讨论】:

    【解决方案2】:

    这是 Cloud SDK 中捆绑的 dev_appserver 目前存在的问题。修复程序很快就会出来。同时,您的选择是: 1) 使用 Cloud SDK 时使用gcloud preview app run 运行您的应用 2)安装独立的 AppEngine SDK(你已经在你的问题中提到过)

    【讨论】:

    • 哇,在这和this 之间,Google 真的在 1.9.18 上丢了球。请尽快修复。
    • 是否有指向 Google 错误跟踪器的链接?能够提高对这个问题的关注度会很有用。
    • 我按照建议安装了独立的 AppEngine SDK,将我的 $PATH 指向它,但仍然出现同样的错误。
    • 我发现我必须在 google-cloud-sdk 和 AppEngine SDK 之间更改 Google App Engine Launcher 的 Preferences 中的 App Engine SDK 路径,具体取决于我是要部署还是运行它分别在我自己的系统上。
    【解决方案3】:

    如果安装 docker-py 不起作用并且堆栈跟踪显示错误行是:

    from docker import docker
    

    将此行更改为:

    import docker
    

    Source

    【讨论】:

      【解决方案4】:

      根据@Tzach 的回答并添加一些信息。

      要修改的文件是containers.py

      对我来说,它位于这里: C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\docker

      如果因为文件在应用程序中打开而无法修改它,实际上是该文件夹受到保护。只需将文件复制/粘贴到您的桌面上并从那里进行修改。然后将其复制回原始文件夹中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-19
        • 2019-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-20
        • 2020-07-26
        相关资源
        最近更新 更多