因为写错一个单词导致报错Error: Failed to find Flask application or factory in module 'flaskr'. Use 'flaskr:name' to specify one.
一、问题描述
1、创建了一个flask应用工厂函数,代码如下:
import os from flask import Flask def create_app(test_config=None): # 创建和配置应用程序 app = Flask(__name__,instance_relative_config=True) # 使用from_mapping来更新默认配置 app.config.from_mapping( SECRET_KEY = 'dev', DATABASE = os.path.join(app.instance_path,'flaskr.sqlite') ) if test_config is None: # 如果配置为None,则使用config.py中的值来重载缺省配置 app.config.from_pyfile('config.py',silent=True) else: # 设置应用默认配置 app.config.from_mapping(test_config) try: # 确保实例文件夹存在 os.makedirs(app.instance_path) except OSError: pass # 创建一个简单的页面 @app.route('/hello') def hello(): return 'Hello ,World!' return app
2、使用flask命令运行应用,命令如下:
%export FLASK_APP=flaskr %export FLASK_ENV=development %flask run
3、运行后报错如下:

二、问题解决
1、起初猜想是不是flaskr这个包里面python文件太多了,因为除了__init__.py文件之外还有其他自己写的.py文件,于是把除了__init__.py的文件全都移走了,再次执行上面的命令还是一样的报错。
2、在网上百度该报错,有些博主写的原因是没return app,但是我的代码是有返回的,所以也不是这个原因。
3、猜想是不是工厂函数名写错导致没有调用到这个函数,仔细看了下函数名,确实写错了,create_app写成了creat_app,修改之后问题解决,成功执行,如下图:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理