通过Google Cloud SDK更新后无法启动appengine应用程序

最近,我通过使用Windows 7 64位命令gcloud components update ,通过谷歌云SDK从1.9.17更新到谷歌引擎 1.9.18。 之后,我无法启动appengine发射器中的任何项目。 得到这个错误:

 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。 仍然getiing相同的错误。

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

这个错误只发生在Windows 7中通过Google Cloud SDK安装的appengine启动器。

此问题在App Engine问题跟踪器中引发: 问题125 。 我build议你明星这个问题。

目前这是云SDK中捆绑的dev_appserver的问题。 一个解决方案即将推出。 与此同时,您的选择是:1)使用gcloud preview app run使用云SDK时运行您的应用程序2)安装独立的AppEngine SDK(你已经提到你的问题)

今天发生在我身上,重新安装应用程序引擎sdk。 我无法在启动器中运行我的代码。

我记得那个不是用pip的应用引擎,但现在我已经解决了这个问题。

总之我做的是:

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

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

PS先前我试图安装docker-py软件包,从https://github.com/docker/docker-py下载,但缺少setuptools,下载并安装软件包没有工作&#x3002; 所以使用这个点子。

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

 from docker import docker 

将此行更改为:

 import docker 

资源

跳过@Tzach的答案并添加一些信息。

要修改的文件是containers.py

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

如果由于文件在应用程序中打开而无法修改,实际上该文件夹是受保护的。 只需将文件复制/粘贴到桌面上,然后从中修改即可。 然后将其复制回原始文件夹中。