Не удалось запустить приложение appengine после его обновления через Google Cloud SDK

Недавно я обновил приложение google от 1.9.17 до 1.9.18 через Google Cloud SDK с помощью команды gcloud components update в Windows 7 64 бит. После этого я не смог запустить какой-либо проект в appengine launcher. Получение этой ошибки:

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) и успешно запустить проект.

Эта ошибка происходит только для пусковой установки приложений, установленной с помощью Google Cloud SDK в Windows 7.

Эта проблема возникает в Tracker Issue Engine: Проблема 125. Я рекомендую вам опубликовать эту проблему.

Ответы

Ответ 1

В настоящее время проблема связана с dev_appserver в пакете Cloud SDK. Исправить будет скоро. Между тем ваши варианты: 1) Используйте gcloud preview app run для запуска вашего приложения при использовании Cloud SDK 2) Установите автономный SDK AppEngine (который вы уже упоминали в своем вопросе)

Ответ 2

Это случилось со мной сегодня, чтобы переустановить движок приложения sdk. Я не смог запустить свой код в пусковой установке.

Я помню, как читал, что не используется движок app app, но теперь я решил проблему.

Короче, что я сделал:

  • Устанавливаем шаги https://pip.pypa.io/en/latest/installing.html (это также правильно устанавливает setuptools)

  • Установите docker-py by pip: pip install docker-py и готов, теперь я могу запустить свой код в панели запуска

P.S. Раньше я пытался установить пакет docker-py, загруженный из https://github.com/docker/docker-py, но отсутствовал setuptools, загруженный и установленный пакет не работал. Поэтому используйте это с помощью pip.

Ответ 3

Если установка docker-py не работает, а stacktrace показывает, что строка ошибки:

from docker import docker

Измените эту строку на:

import docker

Источник

Ответ 4

Прыгая ответ от @Tzach и добавляя некоторую информацию.

Файл для изменения - container.py

для меня он находится здесь: C:\Program Files\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\google\appengine\tools\docker

Если вы не можете изменить его, потому что файл открыт в приложении, на самом деле папка защищена. Просто скопируйте/вставьте файл на рабочий стол и измените его. затем скопируйте его обратно в исходную папку.