文章内容

2022/7/29 20:12:59,作 者: 黄兵

Error: Detected factory 'create_app' in module 'app', but could not call it without arguments.

今天在更新 PyCharm 的时候,版本更新到:PyCharm 2022.2 (Professional Edition),如下图所示:


但是运行 Flask 程序你的时候出现如下错误:

FLASK_APP = manage.py
FLASK_ENV = development
FLASK_DEBUG = 1
In folder E:/Code/rewirte_sms_receive
E:\Code\rewirte_sms_receive\venv\Scripts\python.exe -m flask run 
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Usage: python -m flask run [OPTIONS]
Try 'python -m flask run --help' for help.

Error: Detected factory 'create_app' in module 'app', but could not call it without arguments. Use "FLASK_APP='app:create_app(args)'" to specify arguments.

查了很多文档,没有解决问题,最终只能通过 终端窗口的方式运行 Flask 程序。

输入如下命令:

set FLASK_APP=manage.py
set FLASK_ENV=development
flask run

第二行是设置开发环境,由于在本地开发,所以需要增加这一条。

再 Flask 2.2.0 版本中,写法有所改变

set FLASK_APP=manage.py
set FLASK_DEBUG=1
flask run

也可以设置 True 或 Flase

set FLASK_APP=manage.py
set FLASK_DEBUG=True
flask run

之后运行就可以了。

其他没什么可说的,具体可以参考下面资料。

在 PyCharm 更新后,我所有 Flask 项目都出现这个问题,其他项目未作任何修改,运行程序就会出现上面错误。

这个版本以前可以运行,未作修改,升级了 PyCharm 版本之后无法使用,看样子还是 PyCharm 存在问题。

这篇文章只是做一个记录,希望大家遇到类似的问题,可以解决。同时如何大家有什么更好的解决方案,可以在下面留言,我们互相交流。

                                                                                                       

2022年8月5日更新:

虽然使用上面的方法可以运行程序,但是没有找到调试方法,所以只能将 PyCharm 版本退回 2022.1.4 版本,截图如下:


没有经过任何调整,又可以运行程序了,截图如下:


如果需要下载 PyCharm 历史版本,可以在这里找到:PyCharm 历史版本

同时不建议大家将 PyCharm 版本升级到:2022.2 版本。


参考资料:

1、Flask - Quickstart


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Error: Detected factory 'create_app' in module 'app', but could not call it without arguments.

分享到:

发表评论

评论列表