Python 烧瓶应用程序崩溃“;使用重新加载程序重新启动…socket.error:[Errno 98]地址已在使用中

Python 烧瓶应用程序崩溃“;使用重新加载程序重新启动…socket.error:[Errno 98]地址已在使用中,python,flask,webserver,jinja2,Python,Flask,Webserver,Jinja2,在我的flask应用程序中,我导入了一个包含python变量的文件。然后我将这个变量传递给html模板,并使用jinja2模板在浏览器上显示它 我在这里做的是将用户重定向到一个url,该url呈现一个html文件,并将此python变量传递给jinja2模板。我使用脚本更新此文件并不时更改变量值 当我更新模块文件并更改变量值时,我的flask应用程序崩溃。 请让我知道我做错了什么,我是网络开发新手。我还想知道他们是否真的可以在Jinja2模板中导入python变量 * Detected chan

在我的flask应用程序中,我导入了一个包含python变量的文件。然后我将这个变量传递给html模板,并使用jinja2模板在浏览器上显示它

我在这里做的是将用户重定向到一个url,该url呈现一个html文件,并将此python变量传递给jinja2模板。我使用脚本更新此文件并不时更改变量值

当我更新模块文件并更改变量值时,我的flask应用程序崩溃。 请让我知道我做错了什么,我是网络开发新手。我还想知道他们是否真的可以在Jinja2模板中导入python变量

* Detected change in '/root/Tas/modules/steps.py', reloading
* Restarting with reloader
Traceback (most recent call last):
File "routes.py", line 45, in <module>
app.run(host='0.0.0.0', debug=True,use_reloader=True)
 File "/root/Tas/venv/lib/python2.6/site-packages/flask/app.py", line 772, in run
run_simple(host, port, self, **options)
File "/root/Tas/venv/lib/python2.6/site-packages/werkzeug/serving.py", line 706, in   run_simple
test_socket.bind((hostname, port))
File "<string>", line 1, in bind
socket.error: [Errno 98] Address already in use

“地址已在使用”表示您在该计算机上运行的另一台服务器绑定到同一端口。关掉它,你就可以走了

如果地址已在使用中,请更改默认端口

if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True, port=12345, use_reloader=True)

您现在可以通过
http://localhost:12345

不,我已经尝试过了,如果我更新模块文件时您在日志中,它检测到更改并尝试重新加载,它会在该地址已被使用后进行车削。如果我不更新该模块文件,它不会崩溃。不,我已经尝试过了,如果我更新模块文件时您在日志中,它会检测到更改并尝试重新加载,它会在该地址已被使用后进行车削。如果我不更新该模块文件,它不会崩溃。@user3197035请确保您的端口12345未被使用
nmap-p 12345 localhost
否我的端口是5000,我也尝试过使用端口80和其他一些端口。@user3197035,您是否使用
ctrl+z
而不是“ctrl+c”退出脚本我只是运行脚本。当尝试重新加载时(模块文件更新后),它会自动崩溃。
*检测到“/root/Tas/modules/steps.py”中的更改,正在重新加载*使用重新加载程序重新启动
您使用的是哪个版本?在
python
中显示版本
2.6
。您能同时更新python和falsk版本并检查它吗?将python更新到2.7&并将flask更新到最新版本0.10.1,但仍然不走运(我也遇到了同样的问题。服务器最初工作正常,文件服务正常。但当文件更改时,flask会尝试重新加载。此时,已在使用的
地址发生了错误。这可能与有关,但我不确定。
if __name__ == '__main__':
    app.run(host='0.0.0.0', debug=True, port=12345, use_reloader=True)