【问题标题】:Flask in VS Code: No module named website.__main__; 'website' is a package and cannot be directly executedVS Code 中的 Flask:没有名为 website.__main__ 的模块; 'website' 是一个包,不能直接执行
【发布时间】:2022-01-06 21:22:29
【问题描述】:

我有一个非常基本的烧瓶网站,如下文件website.py 所示。一切正常,除非我设置 debug=True 然后在 Visual Studio 中设置断点,然后我得到上述错误。

from flask import Flask, render_template, request, redirect, url_for, flash

app = Flask(__name__)

@app.route('/')
def home():
    return 'hi'
    
if __name__ == "__main__":
    app.run(debug=True)

【问题讨论】:

    标签: python flask visual-studio-code


    【解决方案1】:

    你需要为你的烧瓶 python 文件创建一个调试配置:

    在launch.json文件中点击Add Configuration -> 选择Python -> 选择Flask

    记得将app.py重命名为website.py

    或者你可以直接将它复制到你的launch.json文件中,并选择它作为你的调试配置:

    {
      "name": "Python: Flask",
      "type": "python",
      "request": "launch",
      "module": "flask",
      "env": { "FLASK_APP": "website.py", "FLASK_ENV": "development" },
      "args": ["run", "--no-debugger"],
      "jinja": true
    },
    

    您可以查看official docs 了解更多详情。

    【讨论】:

      【解决方案2】:

      Flask 建议使用flask run 命令运行应用程序。请参阅Quick start documentation on Flask website。要使用调试模式运行应用程序,请将FLASK_ENV 环境变量设置为development

      website.py:

      from flask import Flask, render_template, request, redirect, url_for, flash
      
      app = Flask(__name__)
      
      @app.route('/')
      def home():
          return 'hi'
      

      如果您使用的是Linux/Mac

      export FLASK_APP=website
      export FLASK_ENV=development
      flask run
      

      如果您使用的是Windows

      set FLASK_APP=website
      set FLASK_ENV=development
      flask run
      

      参考资料:

      【讨论】:

        猜你喜欢
        • 2020-04-08
        • 2021-06-12
        • 2017-11-16
        • 2020-06-26
        • 1970-01-01
        • 2022-10-18
        • 2021-08-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多