Обновление Gcloud сломало мое приложение — GCP Python 2.7

#python #google-app-engine #google-cloud-platform #gcloud

#python #google-app-engine #google-облачная платформа #gcloud

Вопрос:

Я только что обновил GCloud и теперь не могу запустить свою среду разработки.

gcloud -версия

  • Google Cloud SDK 238.0.0
  • app-engine-go
  • app-engine-python 1.9.84
  • app-engine-python-extras 1.9.74 beta 2019.02.22
  • bq 2.0.42
  • облако-хранилище данных-эмулятор 2.1.0
  • ядро 2019.03.08
  • gsutil 4.37

Я не понимаю этих ошибок… все отзывы приветствуются!

 WARNING  2019-03-13 20:38:17,348 multistore_file.py:62] The oauth2client.contrib.multistore_file module has been deprecated and will be removed in the next release of oauth2client. Please migrate to multiprocess_file_storage.
ERROR    2019-03-13 20:38:17,586 wsgi.py:263] 
Traceback (most recent call last):
  File "/Users/dgaedcke/gcloud_tools/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Users/dgaedcke/gcloud_tools/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/Users/dgaedcke/gcloud_tools/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
    __import__(cumulative_path)
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/svcAdminApi/main.py", line 8, in <module>
    import endpoints as google_cloud_endpoints
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/endpoints/__init__.py", line 33, in <module>
    from .apiserving import *
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/endpoints/apiserving.py", line 77, in <module>
    from . import endpoints_dispatcher
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/endpoints/endpoints_dispatcher.py", line 36, in <module>
    import pkg_resources
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/pkg_resources/__init__.py", line 959, in <module>
    class Environment:
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/pkg_resources/__init__.py", line 963, in Environment
    self, search_path=None, platform=get_supported_platform(),
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/pkg_resources/__init__.py", line 190, in get_supported_platform
    plat = get_build_platform()
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/pkg_resources/__init__.py", line 398, in get_build_platform
    version = _macosx_vers()
  File "/Users/dgaedcke/dev/TouchstoneMicroservices/lib/pkg_resources/__init__.py", line 369, in _macosx_vers
    version = platform.mac_ver()[0]
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/platform.py", line 764, in mac_ver
    info = _mac_ver_xml()
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/platform.py", line 741, in _mac_ver_xml
    pl = plistlib.readPlist(fn)
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plistlib.py", line 75, in readPlist
    pathOrFile = open(pathOrFile)
  File "/Users/dgaedcke/gcloud_tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/stubs.py", line 283, in __init__
    raise IOError(errno.EACCES, 'file not accessible', filename)
IOError: [Errno 13] file not accessible: '/System/Library/CoreServices/SystemVersion.plist'
INFO     2019-03-13 20:38:17,610 module.py:861] adminapi: "GET /index HTTP/1.1" 500 -
  

Комментарии:

1. «восстановление компонентов gcloud» заставило меня снова запуститься, но я уверен, что так долго не проживу, поэтому, пожалуйста, скажите мне, что изменить

2. Пока я этим занимаюсь, я должен обратить ваше внимание на несоответствие документов … в последних отзывах о GCP groups amp; other docs говорится об использовании virtualenv, но в cloudendpoints / endpoints-python / library конкретно указано, что вы должны использовать / lib vendoring

3. virtualenv предназначен для запуска на вашем компьютере разработки.

4. Спасибо за ответ. Да, я понимаю, что venv предназначен для локального использования разработчиками. Эта проблема возникает в моей локальной среде / среде разработки. Итак, я явно не понимаю вашу точку зрения? Пожалуйста, уточните.

5. Вы упомянули virtualenv и / lib в своем комментарии. Я совместно указывал, что virtualenv предназначен для вашей среды разработки. / lib находится в вашем файле конфигурации развертывания.

Ответ №1:

Google был уведомлен об этом случае:https://issuetracker.google.com/issues/132240370

Пожалуйста, отметьте эту проблему, если у вас также есть эта проблема.

Ответ №2:

читая ваши исходные вопросы, первая ошибка указывает на то, что модуль oauth2client.contrib.multistore_file устарел и больше не поддерживается, поэтому вам нужно его заменить, по ссылке [1] вы можете найти причину, по которой он устарел, и какова замена.

[1]https://google-auth.readthedocs.io/en/latest/oauth2client-deprecation.html

Ответ №3:

Теперь это, похоже, исправлено в Google Cloud SDK 253.0.0.

Запустите gcloud components update , и все будет готово!