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

PyCharm创建Flask虚拟环境项目启动Python控制台报错

Flask控制台启动报错ModuleNotFoundError: No module named 'wsgi'的解决方法

问题现象

在PyCharm中使用虚拟环境创建Flask项目后,Flask服务器可正常运行,但启动Python控制台时出现如下报错:

import sys
sys.path.extend(['C:\Users\admin\Desktop\flaskProject', 'C:/Program Files/JetBrains/PyCharm 2023.1.3/plugins/python/helpers/pycharm', 'C:/Program Files/JetBrains/PyCharm 2023.1.3/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
App: %s [%s]
Instance: %s" % (sys.version, sys.platform, app.import_name, app.env, app.instance_path))
PyDev console: starting.
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2023.1.3\plugins\python\helpers\pydev\pydevconsole.py", line 364, in runcode
    coro = func()
           ^^^^^^
  File "<input>", line 6, in <module>
  File "C:\Users\admin\.virtualenvs\flaskProject-9hB4V9OB\Lib\site-packages\flask\cli.py", line 313, in load_app
    app = locate_app(import_name, None, raise_if_not_found=False)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\admin\.virtualenvs\flaskProject-9hB4V9OB\Lib\site-packages\flask\cli.py", line 224, in locate_app
    raise NoAppException(
flask.cli.NoAppException: While importing 'wsgi', an ImportError was raised:
Traceback (most recent call last):
  File "C:\Users\admin\.virtualenvs\flaskProject-9hB4V9OB\Lib\site-packages\flask\cli.py", line 219, in locate_app
    __import__(module_name)
  File "C:\Program Files\JetBrains\PyCharm 2023.1.3\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'

问题原因

PyCharm默认的Flask控制台初始化脚本会尝试自动定位Flask应用,当ScriptInfo(create_app=None)未指定应用入口时,Flask会按默认规则查找名为wsgi的模块,但你的项目中不存在该模块(通常Flask应用实例会放在app.py或自定义命名的文件中),因此触发找不到模块的错误。而Flask服务器能正常运行,是因为服务器配置中已经指定了正确的应用入口文件。

解决步骤

  • 步骤1:确认Flask应用入口文件
    找到项目中定义app = Flask(__name__)的文件,比如常见的app.py或你自定义的文件名(如main.py)。

  • 步骤2:修改PyCharm的Python控制台启动脚本

    1. 打开File > Settings > Build, Execution, Deployment > Console > Python Console(Windows/Linux),或PyCharm > Settings > ...(Mac)
    2. 在Starting script区域,替换默认脚本为以下内容(将app替换为你的应用入口文件名,不带.py后缀):
      import sys
      sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])
      from flask.cli import ScriptInfo
      # 指定你的应用模块名,比如app.py就写'app'
      locals().update(ScriptInfo(create_app=None, import_name='app').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))
      
    3. 点击Apply和OK保存配置,重新启动Python控制台即可正常使用。
  • 备选方案:手动导入应用
    如果不想修改全局配置,也可以在控制台启动后手动执行导入命令:

    from app import app  # 这里的app是你的应用文件名和实例名,按需修改
    

内容的提问来源于stack exchange,提问作者Giorgi Vashakmadze

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:25:06