Python虚拟环境中,找不到'__main__'模块

时间:2017-06-21 06:04:56

标签: python flask

我正在研究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)

我该如何解决这个问题?

1 个答案:

答案 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。