You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud部署Flask应用遇mysql.connector模块缺失问题求助

解决方案:GCP部署Flask应用时的依赖缺失与数据库连接问题

1. 解决ModuleNotFoundError: No module named 'dotenv'

如果打算继续用.env文件加载环境变量,必须把python-dotenv添加到requirements.txt中:

# 在requirements.txt末尾追加
python-dotenv==1.0.0

如果已经改用GCP的环境变量管理(控制台配置或部署命令设置),保持当前注释dotenv的代码即可,无需添加该依赖。

2. 解决ModuleNotFoundError: No module named 'mysql'

你本地安装了mysql-connector-python但未写入requirements.txt,GCP部署时只会根据该文件安装依赖,因此必须补充:

# 在requirements.txt末尾追加
mysql-connector-python==8.3.0

修改后重新执行gcloud app deploy,GCP会自动安装该包,就能正常导入mysql.connector。

3. 额外修正与配置提醒

  • 代码中render_tempalate是拼写错误,需改为render_template,否则会出现模板渲染失败问题。
  • jinja1应为jinja2(Flask默认依赖Jinja2),修正导入语句:
    from jinja2 import Environment, FileSystemLoader
    
  • 确认GCP环境变量配置正确:
    若不用.env,可通过命令行设置后部署:
    gcloud app deploy --set-env-vars DB_HOST=你的数据库地址,DB_PASS=你的数据库密码,...
    
    也可在GCP控制台的「App Engine -> 服务 -> 版本 -> 编辑版本」中手动配置环境变量。

4. 修改后的requirements.txt示例

Flask==3.0.0; python_version > '3.6'
Flask==2.3.3; python_version < '3.7'
Werkzeug==3.0.1; python_version > '3.6'
Werkzeug==2.3.7; python_version < '3.7'
gunicorn==20.1.0
mysql-connector-python==8.3.0
# 如需保留dotenv功能则取消下面注释
# python-dotenv==1.0.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:12:19