新建的flask项目
打开python控制台,出现错误
具体错误信息如下:
import sys
sys.path.extend([‘D:\Idea\project\flaskproject\file_up_down_project\project_source_code’, ‘D:/pycharm/anzhuang/PyCharm 2023.1.2/plugins/python/helpers/pycharm’, ‘D:/pycharm/anzhuang/PyCharm 2023.1.2/plugins/python/helpers/pydev’])
from flask.cli import ScriptInfo
locals().update(ScriptInfo(create_app=None).load_app().make_shell_context())
print(“Python %s on %s\nApp: %s [%s]\nInstance: %s” % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))
PyDev console: starting.
Traceback (most recent call last):
File “D:\pycharm\anzhuang\PyCharm 2023.1.2\plugins\python\helpers\pydev\pydevconsole.py”, line 364, in runcode
coro = func()
File “”, line 6, in
File “D:\Idea\project\flaskproject\file_up_down_project\python_env\lib\site-packages\flask\cli.py”, line 339, in load_app
app = locate_app(import_name, None, raise_if_not_found=False)
File “D:\Idea\project\flaskproject\file_up_down_project\python_env\lib\site-packages\flask\cli.py”, line 250, in locate_app
raise NoAppException(
flask.cli.NoAppException: While importing ‘wsgi’, an ImportError was raised:
Traceback (most recent call last):
File “D:\Idea\project\flaskproject\file_up_down_project\python_env\lib\site-packages\flask\cli.py”, line 245, in locate_app
import(module_name)
File “D:\pycharm\anzhuang\PyCharm 2023.1.2\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py”, line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named ‘wsgi’
解决办法
1,把勾选的flask集成,勾掉。关闭python控制台,重新打开python控制台就好了。
2,原因分析
(1)勾选flask集成的作用
Flask集成是PyCharm中用于支持Flask Web开发框架的功能集合。勾选该选项将启用PyCharm对Flask的专门支持和优化,主要包括以下几个方面:
模板语言支持
PyCharm将为Flask使用的模板语言(如Jinja2)提供语法高亮、自动补全、重构等支持,提高模板编写效率。
路由辅助
PyCharm可以识别Flask程序的URL路由,在编辑器中提供跳转、重构等导航支持,方便查看和管理路由。
运行/调试支持
启用该集成后,PyCharm将识别Flask应用的入口点,允许您直接运行/调试Flask应用,无需使用命令行。
视图/模板关联
PyCharm可以自动关联Flask视图函数和其渲染的模板文件,在编辑视图函数时能快速跳转到对应模板。
Flask命令行工具
集成后PyCharm将内置Flask自带的一些命令行工具,如flask shell等,方便在IDE中直接使用。
代码检查和自动补全
对Flask特有的代码模式提供语法检查和自动补全支持,如请求对象、上下文对象等。
总的来说,勾选Flask集成能让PyCharm为Flask应用开发提供更多语言层面和框架层面的支持,提高开发效率。如果您不使用Flask,则可以不勾选该选项。该选项纯属可选,不会影响其他功能。
(2)出现这样的错误信息原因分析
这个错误信息表明PyCharm在尝试加载Flask应用时遇到了问题。具体来说,它期望在您的项目中存在一个名为"wsgi.py"的文件,但是没有找到该文件,因此报错"No module named ‘wsgi’“。
发生这个错误的原因是Flask集成默认假设您的Flask应用使用的是标准的"wsgi.py"作为应用入口文件。但事实上,您的应用入口文件叫"app.py”。
有几种解决方案:
①创建wsgi.py文件
在项目根目录下创建一个"wsgi.py"文件,内容如下:
pythonCopyfrom app import app as application
这样PyCharm的Flask集成就能够找到并加载您的Flask应用了。
②配置自定义入口文件
如果您不想创建wsgi.py文件,可以在PyCharm的Settings中配置自定义的Flask应用入口文件。
转到 File > Settings > Languages & Frameworks > Flask
在"Flask settings"部分选中"自定义应用入口文件"并指定您的"app.py"文件路径。
③关闭Flask集成
如果您不需要PyCharm提供的Flask集成特性,也可以回到之前的设置,取消勾选"Flask"配置项即可。这样就不会尝试加载wsgi.py了。
综上所述,这个错误是由于Flask集成的默认行为与您的项目结构不符引起的。根据您的实际需求,选择上述某个解决方案即可避免该错误的发生。