【问题标题】:Flask hello.py basic app not running?Flask hello.py 基本应用程序没有运行?
【发布时间】:2014-01-06 05:58:34
【问题描述】:

当我在命令行中输入 python hello.py 时,我得到另一个 bash 提示符。我不确定可能是什么问题,因为我能够运行 virtualenv 并且当我检查哪个版本的烧瓶时我安装了最新版本 >>> '0.10.1'

Opals-MacBook-Pro:~ opalkale$ cd myproject
Opals-MacBook-Pro:myproject opalkale$ ls
hello.py    venv
Opals-MacBook-Pro:myproject opalkale$ . venv/bin/activate
(venv)Opals-MacBook-Pro:myproject opalkale$ python hello.py
(venv)Opals-MacBook-Pro:myproject opalkale$ 

hello.py 的代码如下:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

    if __name__ == "__main__":
            app.run()

此代码取自:http://flask.pocoo.org/docs/quickstart/#quickstart

【问题讨论】:

  • 您是否包含了脚本的if __name__ == '__main__': 部分?
  • 您可以发布您的hello.py 的内容而不是指向 Flask 文档的链接吗?
  • @dirn 是的,我编辑了上面的内容。

标签: python flask virtualenv


【解决方案1】:

您的文件与文档中的示例不匹配。您已将 if __name__ == '__main__': 块放置在 hello() 的定义中。

空格在 Python 中很重要。它需要放在函数定义之外(即一直向左对齐)。这样做将在脚本运行时执行if。它现在存在的方式,您需要导入hello 模块并调用hello 函数。那不是你想要的。修复缩进,一切就绪。

【讨论】:

  • 我应该仔细看看代码而不是尝试重新安装flask和virtualenv很多次谢谢!它现在工作得很好。
【解决方案2】:

Python 总是对这些空格感到头疼。我使用 sublime 文本编辑器来帮助我快速解决这些空格语法问题。

在您的情况下,只需将 if name == "ma​​in": 向左移动,以便 if 超出函数返回上方。

希望对您有所帮助。

【讨论】:

    【解决方案3】:

    您必须注意缩进。制表符和四个空格是不同的。用四个空格。 您可以像下面这样重新创建。 我也提供自定义端口。

        from flask import Flask
        app = Flask(__name__)
    
    
        @app.route("/")
        def hello():
            return "Hello World!"
    
    
        if __name__ == "__main__":
            app.run(host='0.0.0.0', port=5000)        
    

    【讨论】:

      【解决方案4】:

      如果服务器已经工作,并且当您在一段时间后返回时,您会收到此错误:flask command not defined

      首先运行这个命令:

      pip list
      

      ...如果没有烧瓶,请重新安装。

      1. 运行此命令:
      # In mac
      venv/bin/activate
      # or Windows
      venv/Scripts/activate
      
      1. 安装 Flask 运行:
      pip install Flask
      
      1. 设置环境变量
      export FLASK_APP=yourServerName
      
      1. 再次运行烧瓶
      flask run
      

      【讨论】:

        猜你喜欢
        • 2023-01-18
        • 1970-01-01
        • 2021-11-09
        • 1970-01-01
        • 2020-04-26
        • 1970-01-01
        • 1970-01-01
        • 2018-02-01
        相关资源
        最近更新 更多