Flask项目报错:无法从sql模块导入create_connection?求解决方法
解决Flask中从sql模块导入
create_connection的ImportError问题 检查
sql.py核心内容
打开C:<Directory to sql.py>路径下的sql.py文件,确认里面确实定义了create_connection和execute_read_query这两个函数,注意拼写、大小写、下划线要和导入语句完全一致;另外这两个函数不能嵌套在其他函数或类内部,必须处于全局作用域才能被直接导入。核对文件路径与命名
- 确保
sql.py和你的Flask主脚本在同一文件夹下,如果不在,需要把sql.py所在目录添加到Python搜索路径,比如在导入前添加:import sys sys.path.append("C:/你的sql.py所在文件夹完整路径") - 确认文件名是
sql.py,别写成Sql.py或sql_utils.py这类变体,避免因系统大小写规则差异导致识别失败。
- 确保
排查循环导入问题
查看sql.py中是否导入了你的Flask主脚本,这种循环引用会触发导入错误。如果存在循环依赖,需要重构代码拆分逻辑,比如把共用功能抽成独立模块。避免命名冲突
- 检查项目中是否存在其他同名的
sql.py文件,防止导入了错误的模块。 - 打开终端执行
pip list,查看是否安装过名为sql的第三方库,如果有,要么卸载该库,要么把自己的sql.py重命名为db_helper.py这类独特名称。
- 检查项目中是否存在其他同名的
验证导入有效性
可以先通过以下代码测试模块内容:import sql print(dir(sql)) # 打印sql模块中所有可访问的对象如果输出里没有
create_connection,说明模块未定义该函数;如果有,再尝试原导入语句即可。
内容的提问来源于stack exchange,提问作者FruitSnacks19
相关产品推荐
相关产品推荐

