You need to enable JavaScript to run this app. Django部署Google App Engine遇502错误,已装pymysql却提示模块不存在
优惠活动
大模型
产品
解决方案
定价
更多

Django部署Google App Engine遇502错误,已装pymysql却提示模块不存在

问题核心原因

Google App Engine 部署Python类Django应用时,构建流程只会自动安装项目根目录下requirements.txt文件中明确声明的依赖包,完全不会同步你本地机器全局环境已经安装的第三方库。
你贴出的现有requirements.txt清单中全程没有声明pymysql依赖,就算你本地反复执行pip3 install pymysql看到安装成功的提示,远端GAE构建环境在打包应用时根本不知道要安装这个包,最终运行时自然会抛出ModuleNotFoundError。

认知误区澄清
  • 本地pip返回的“Requirement already satisfied”提示,仅代表你本地当前Python环境存在该依赖,和GAE远端独立的构建、运行环境没有任何关联:部署时GAE只会上传你项目目录下的代码文件,不会把你本地Python环境的库文件一起打包,两套环境的依赖列表完全隔离,没有自动同步机制。
  • GAE Python运行时不会自动扫描代码中的import语句补装缺失依赖,所有需要安装的第三方库必须提前逐行写在requirements.txt里,少写一项就会在运行时触发对应导入错误。
修复步骤
  • 打开项目根目录下的requirements.txt,在现有依赖列表里补充和你本地环境版本一致的pymysql条目,比如PyMySQL==1.0.2,尽量和本地安装版本保持一致,避免出现版本兼容问题。
  • 重新触发GAE部署流程,在构建阶段日志确认pymysql被成功安装后,再访问服务验证运行状态。
  • 额外检查settings.py中pymysql的初始化逻辑是否正确,确保已经写入pymysql.install_as_MySQLdb()语句,避免安装完依赖后Django连接数据库时出现二次报错。

内容的提问来源于stack exchange,提问作者Benjamin Carafa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.31 09:15:00