运行Google Cloud SDK下dev_appserver.py提示缺少py27_urlquote模块报错
问题原因
py27_urlquote是Google App Engine Python 2.7 runtime的内置私有依赖,不会发布到公共PyPI源,触发该错误的核心原因是Cloud SDK未安装对应legacy组件,或者调用dev_appserver.py时未正确加载SDK内置的依赖路径。你之前尝试的全局切换Python版本、重装默认SDK都没有命中核心问题,默认安装的Cloud SDK不会自带legacy版本的App Engine Python组件。
解决步骤
- 第一步:安装App Engine Python 2.7专属组件
执行命令:
gcloud components install app-engine-python
如果安装过程提示权限问题,加sudo执行即可。
- 第二步:优先使用gcloud封装命令调用devserver
不要直接执行SDK目录下的独立dev_appserver.py脚本,改用如下命令启动本地服务,gcloud会自动配置好所有依赖路径:
gcloud app devserver 你的应用服务参数
- 第三步:如果必须直接调用独立脚本,手动配置PYTHONPATH
执行如下命令临时添加SDK依赖路径(替换为你自己的SDK实际路径)后再运行脚本:
export PYTHONPATH="/Users/user/Downloads/google-cloud-sdk/platform/google_appengine:$PYTHONPATH"
- 补充说明:如果你的项目是Python 3版本的App Engine应用,不需要使用
dev_appserver.py,直接在本地Python 3环境中运行项目入口文件即可,dev_appserver.py仅为Python 2.7 legacy版本应用提供本地模拟支持。
内容的提问来源于stack exchange,提问作者Nakasei
相关产品推荐
相关产品推荐

