Я пытаюсь использовать App Engine Remote API в Google Cloud Shell, но продолжает получать ошибку "ImportError: нет модуля с именем appengine .tools ".
Сначала я выполнил эти шаги, чтобы настроить Cloud Shell на чистую штат.
Затем я пытаюсь запустить оболочку API с помощью следующей команды:
/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py -s [myprojectID].appspot.com
Сначала я получаю сообщение об ошибке «-bash: /google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py: Permission denied», поэтому перехожу к файлу и делать
sudo chmod +x remote_api_shell.py
Затем, когда я снова пытаюсь выполнить команду, я получаю ошибку ImportError, указанную выше.
Я просмотрел несколько похожих тем (здесь) и (здесь), и пользователи, похоже, сообщить, что выполнение команды «sudo pip uninstall protobuf» устранило их проблему, но это не помогает мне.
Еще одно предложение заключалось в добавлении SDK App Engine в PYTHONPATH, поэтому я попытался выполнить
export PYTHONPATH=/usr/bin/python2.7
export GAE_SDK_ROOT="/google/google-cloud-sdk/platform/google_appengine/"
export PYTHONPATH=${GAE_SDK_ROOT}:${PYTHONPATH}
Но ошибка сохраняется. Я думаю, что проблема отражена здесь:
>>> import google
>>> print google.__path__
['/usr/local/lib/python2.7/dist-packages/google']
Есть ли способ быстро исправить это, сохранив как можно большую часть состояния Cloud Shell по умолчанию? Поскольку Cloud Shell недолговечен, полагаю, этот процесс придется повторить.
Я настроил свое приложение для включения удаленного доступа, хотя не думаю, что продвинулся достаточно далеко, чтобы это стало проблемой.
Все компоненты Gcloud обновлены, что, как я полагаю, гарантировано при очистке состояния Cloud Shell.
Добавление «python» или «python2» к команде приводит к той же ошибке.
Отредактировано, чтобы добавить полное сообщение об ошибке:
Traceback (most recent call last):
File "/google/google-cloud-sdk/platform/google_appengine/google/appengine/tools/remote_api_shell.py", line 29, in <module>
from google.appengine.tools import os_compat
ImportError: No module named appengine.tools
python /google/google-cloud-sdk/platform/google_appengine/remote_api_shell.py ...
- person Dan Cornilescu   schedule 03.08.2018remote_api_shell.py
, на один каталог выше ... - person Dan Cornilescu   schedule 03.08.2018