Google Cloud SDK 运行 dev_appserver.py 时提示“ImportError: No module named py27_urlquote”

Nak*_*sei 5 python macos google-app-engine google-cloud-sdk

当我在 google-cloud-sdk 上运行 dev_appserver.py 时,出现 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
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下方法:

  1. 重新安装云SDK
  2. 了解 py27_urlquote 模块(我找不到任何此类信息......)
  3. 将CLOUDSDK_PYTHON的版本更改为2.7或3.8并执行

小智 3

目前,这是一个公共问题,目前正在由我们的 Google 工程团队解决。为您提供了运行本地开发服务器的解决方法:

  1. 安装pipPython 2
sudo apt update
sudo apt install python-pip
Run Code Online (Sandbox Code Playgroud)
  1. 安装urlquote而不是py27_urlquote
pip install urlquote
Run Code Online (Sandbox Code Playgroud)
  1. 根据错误消息修改module.py位于本地目录的内容
/Users/user/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py
Run Code Online (Sandbox Code Playgroud)
  1. 替换py27_urlquoteurlquote. 有 3 行代码使用py27_urlquote. 特别是第 39、833 和 836 行。

您可以检查与您的问题类似的公共跟踪器,以获取更多信息和更新。