# #python #macos #google-app-engine #google-cloud-sdk
Вопрос:
Когда я бегу dev_appserver.py в google-cloud-sdk я получаю ImportError: Нет модуля с именем py27_urlquote.
Traceback (most recent call last):
File "/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 109, in <module>
_run_file(__file__, globals())
File "/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 103, in _run_file
_execfile(_PATHS.script_file(script_name), globals_)
File "/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 83, in _execfile
execfile(fn, scope)
File "/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 44, in <module>
from google.appengine.tools.devappserver2 import dispatcher
File "/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 43, in <module>
from google.appengine.tools.devappserver2 import module
File "/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 39, in <module>
import py27_urlquote
ImportError: No module named py27_urlquote
Я попробовал следующее:
- Переустановите облачный SDK
- Узнайте о модуле py27_urlquote (я не смог найти никакой такой информации …)
- Измените версию CLOUDSDK_PYTHON на 2.7 или 3.8 и выполните
Ответ №1:
Прямо сейчас это публичная проблема, и в настоящее время она решается нашей командой инженеров Google. Для запуска локального сервера разработки был предусмотрен обходной путь:
- Установка
pip
для Python 2
sudo apt update
sudo apt install python-pip
- Установите
urlquote
вместоpy27_urlquote
pip install urlquote
- Изменение
module.py
, расположенное в вашем локальном каталоге, из сообщения об ошибке
/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py
- Заменить
py27_urlquote
наurlquote
. Есть 3 строки кода, который используетpy27_urlquote
. В частности, строки 39, 833 и 836.
Вы можете проверить этот общедоступный трекер, аналогичный вашей проблеме, для получения дополнительной информации и обновлений.
Комментарии:
1. Похоже, что эквивалентный вызов в urlquote не
urlquote
является, ноquote
: pypi.org/project/urlquote . Чтобы это сработало, я заменил импорт наfrom urlquote import quote
и две другие строки отpy27_urlquote.urlquote(...
доquote(...
2. Шаг 2 может потребоваться
pip2 install urlquote
Ответ №2:
Я только что тоже столкнулся с этой проблемой в SDK версии 359.0.0
Вместо того, чтобы обновлять файлы SDK вручную, я решил перейти на предыдущую версию.
Я обнаружил, что версия 357.0.0 работает нормально.
Чтобы понизить рейтинг, выполните следующую команду:
gcloud components update --version 357.0.0