我正在研究Flask,我的第一本书例子我遇到了问题
>>> from flask import Flask
>>> app = Flask(__name__)
>>> @app.route('/')
... def index():
... return '<h1>Hello World!</h1>'
...
>>> if __name__ == '__main__':
... app.run(debug=True)
...
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
/home/tati/flasky/venv/bin/python: can't find '__main__' module in ''
(venv) tati@tati-System-Product-Name:~/flasky$ python --version
Python 2.7.12
我的Python venv是2.7。这是否会造成严重破坏? 如果我出去,从命令行(conda python安装)
python --version
Python 3.6.0 :: Anaconda custom (64-bit)
我该如何解决这个问题?
答案 0 :(得分:2)
问题是debug=True
烧瓶will relaunch the python script与重新加载器一起运行一个额外的线程。从控制台it can't find any script运行时,因为没有。
您可以解决此问题,删除debug=True
。
此外,在控制台中,您只需调用需要调用的内容,不需要if __name__ == '__main__'
成语;没有其他代码路径。
无论如何,控制台不是学习Flask的最佳选择。很快你就需要在某处放置模板和其他文件,如蓝图等。
我认为最好的选择是为您的学习应用创建一个包。只需创建一个包含__init__.py
文件和另外一个app.py
的目录,您可以在其中放置教程代码。记得相应地调整你的PYTHONPATH。