Может ли облачная оболочка Google запустить Python3? - PullRequest
0 голосов
/ 01 октября 2018

У меня ранее был Сервер управления учетными данными .Когда я попытался запустить его сегодня, я получил сообщение о том, что Python3 не поддерживается: -

ERROR: Python 3 and later is not compatible with the Google Cloud SDK.
Please use Python version 2.7.x.

If you have a compatible Python interpreter installed, you can use it by setting

the CLOUDSDK_PYTHON environment variable to point to it.

Поэтому я ввел следующую команду: -

export CLOUDSDK_PYTHON=/usr/bin/python

и перестроил среду иперезапустил сервер.Теперь, когда я пытаюсь получить доступ к серверу, похоже, что я получаю сообщение об ошибке в версии «print» для Python 3.

Q1.Является ли пример Python Google Cloud Shell совместимым только с Python3

Q2.Могу ли я получить версию Python 3 для правильной работы в этой среде

ERROR    2018-10-01 04:36:24,384 wsgi.py:263]
Traceback (most recent call last):
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/home/maherrj/credential-management-api/working/main.py", line 28, in <module>
    from oauth2client import client
  File "/home/maherrj/credential-management-api/working/lib/oauth2client/client.py", line 39, in <module>
    from oauth2client import transport
  File "/home/maherrj/credential-management-api/working/lib/oauth2client/transport.py", line 17, in <module>
    import httplib2
  File "/home/maherrj/credential-management-api/working/lib/httplib2/__init__.py", line 382
    print('%s:' % h, end=' ', file=self._fp)
                        ^
SyntaxError: invalid syntax

1 Ответ

0 голосов
/ 01 октября 2018

Я думаю, что вы смешиваете некоторые понятия:

  • Cloud Shell! = API управления учетными данными.Первый - интерактивная оболочка , с уже установленными инструментами, такими как Python 2, 3, Maven и т. Д.Второй, как следует из названия, - это API для управления учетными данными в приложениях.
  • Код, который вы упоминаете, использует Python 2.7, демонстрируемый несколькими вещами.Основным является файл app.yaml, в котором явно упоминается использование этой версии.

Итак, вам придется перенести этот код на Python 3, если это возможно, или продолжать использовать Python 2.7.

...