Google Cloud App Engine部署Django应用出现服务器错误如何解决
问题根因
从错误日志的最后一行可以直接定位核心问题:
ModuleNotFoundError: No module named 'django'
这个错误出现的原因是Google Cloud App Engine的Python3运行环境默认不会预装任何第三方框架,部署时只会自动安装你在项目根目录requirements.txt文件中声明的依赖。你当前的项目没有提供该文件,或者文件中没有写入Django的依赖声明,导致应用启动时找不到Django模块。
解决方案
按以下步骤操作即可修复:
- 第一步:在项目根目录(和
app.yaml、main.py同级目录)新建requirements.txt文件,写入项目依赖,示例如下:
# 替换为你本地开发使用的Django版本即可,避免版本兼容问题 Django==3.2.5 gunicorn==20.1.0 # 如果你项目用到其他第三方依赖,比如celery、pymysql等,也全部补充到这个文件里
- 第二步:统一入口配置(避免冲突,可选操作,建议调整)
你现在同时配置了main.py指向wsgi应用,又在app.yaml的entrypoint里直接指定了booking.wsgi,二者保留一个即可,推荐把app.yaml的entrypoint修改为:
entrypoint: gunicorn -b :$PORT main:app
- 第三步:重新部署应用
执行部署命令:gcloud app deploy
部署完成后等待1分钟左右再访问站点,即可正常加载。
内容的提问来源于stack exchange,提问作者monotone_briggs
相关产品推荐
相关产品推荐

