当我在命令行中输入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()
答案 0 :(得分:10)
您的文件与文档中的示例不符。您已将if __name__ == '__main__':
块放在hello()
的定义中。
Whitespace在Python中很重要。它需要放在函数定义之外(即,一直对齐到左边)。执行此操作将在脚本运行时执行if
。它现在的存在方式,您需要导入hello
模块并调用hello
函数。那不是你想要的。修复缩进,您将全部设置。
答案 1 :(得分:0)
Python始终是这些空间的头疼。我使用sublime文本编辑器,帮助我快速找出这些间距语法问题。
在您的情况下,只需移动名称 ==“ main ”:向左移动,以便if不在上面返回的函数中。
希望有所帮助。
答案 2 :(得分:0)
您必须注意缩进。 Tab和四个空格不同。带有四个空格。 您可以像下面这样重新创建。 我也在提供自定义端口。
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)