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

Windows下用Apache24+WSGI部署Flask出现自定义db模块找不到报错如何解决

问题原因

你本地直接启动Flask服务时,Python会自动把当前项目根目录加入模块搜索路径sys.path,所以能正常找到自定义的db模块;但Apache+mod_wsgi运行时默认不会加载项目根目录到搜索路径,因此无法识别自定义模块。

可行解决方案

方案1:修改WSGI脚本添加项目路径(推荐,无业务代码侵入)

编辑wsgi_scripts/gamonweb.wsgi文件,在导入app之前新增以下代码:

import sys
# 替换为你的app.py所在的实际根目录路径
sys.path.insert(0, "C:/GamonWeb/gamonweb")

修改完成后重启Apache服务即可生效。

方案2:修改app.py适配任意启动环境

如果需要兼容不同启动方式,可在app.py的最开头(导入db模块前)新增以下代码:

import os
import sys
# 自动将当前文件所在目录加入模块搜索路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

方案3:补充包标识文件

检查db目录下是否存在空的__init__.py文件,Windows环境下无该文件的目录可能不会被识别为可导入的Python包,新建该空文件后重启服务也可解决部分导入异常。

额外校验点
  • 确认Apache运行账户对项目根目录有可读权限
  • 确认Apache的mod_wsgi配置中指定的Python虚拟环境路径指向你项目的myenv目录,避免混用全局Python环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:36:04