Не удалось запустить приложение 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, но теперь я решил проблему.
Короче, что я сделал:
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
Если вы не можете изменить его, потому что файл открыт в приложении, на самом деле папка защищена. Просто скопируйте/вставьте файл на рабочий стол и измените его. затем скопируйте его обратно в исходную папку.