python - 烧瓶应用程序无法使用 python 命令运行
问题描述
我是 Web 服务开发的新手。我从 Flask 开始。在许多教程中,我看到使用 python 命令运行烧瓶应用程序文件(保存 Flask 实例的文件),起初我也这样做了,但现在由于某种原因,该文件无法使用python [file_name].py
命令运行。但是,如果我使用 运行flask run
,那么它可以工作。
谁能告诉我可能出了什么问题。这是我的项目结构-
TaskManager-app.py venv【虚拟环境】 pycache
当我进行烧瓶运行时,我得到以下信息-
(venv) XYZ-MBP:TaskManager xyz$ flask run
* Serving Flask app "app"
* 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
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
我的 app.py 文件看起来像 -
from flask import Flask
app= Flask(__name__)
@app.route("/")
def api():
return "Hello world"
if __name__ == "main":
app.run(debug=True)
当我做-
python app.py
服务器不运行。它根本不做任何事情,没有错误消息,什么都没有,并且显示如下-
(venv) XYZ-MBP:TaskManager xyz$ python app.py
(venv) XYZ-MBP:TaskManager xyz$
解决方案
更改 if 语句如下:
if __name__ == "__main__":
app.run(debug=True)
__name__
直接执行文件时变量'__main__'
不等于'main'
(您的模块是主程序)。
推荐阅读
- null - 如何将“NULL”和“”作为 OBIEE 提示的输入?
- python - 嵌套列表 - 从内部列表中删除引号
- yaml - 无效的 Yaml:此处不允许映射值
- javascript - 如何通过分隔对象的项目符号将对象转换为具有多个工作表的 excel/csv 文件中的 csv 文件
- python-3.x - 美丽的汤错误:“方法”类型的对象没有 len
- cuda - 只有在前一个线程块中的所有扭曲完成后才能安排新的线程块?
- flutter - Flutter 在 TextFormField 上支持 miltiline
- llvm - 如何在 LLVM 项目中调试 clangCodeGen
- php - 来自 php 页面的警报,数据已从 arduino 收到
- angular - 如何在 ASP.NET Core 中配置 API 以访问 http 请求?