【问题标题】:Flask: OSError: [Errno 98] Address already in use - but why? [duplicate]Flask:OSError:[Errno 98] 地址已在使用中 - 但为什么呢? [复制]
【发布时间】:2018-11-19 21:38:27
【问题描述】:

我这里有一个非常简单的代码:

from flask import Flask

app = Flask(__name__)

if __name__ == '__main__':
    app.run(debug=True)

我第一次运行它并且它工作,然后 ctrl+c 没有工作,所以我自己杀死了 python 终端。然后我尝试再次运行它,我得到一个错误:

 * Serving Flask app "untitled1" (lazy loading)
 * Environment: production
 WARNING: Do not use the development server in a production 
 environment.
 Use a production WSGI server instead.
 * Debug mode: on
 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/lib/python3/dist- 
 packages/spyderlib/widgets/externalshell/sitecustomize.py", line 699, 
 in runfile
 execfile(filename, namespace)
 File "/usr/lib/python3/dist- 
 packages/spyderlib/widgets/externalshell/sitecustomize.py", line 88, 
in execfile
exec(compile(open(filename, 'rb').read(), filename, 'exec'), 
namespace)
File "/home/teoman/Desktop/flaskapp/untitled1.py", line 13, in 
<module>
app.run(debug=True)
File "/home/teoman/.local/lib/python3.5/site-packages/flask/app.py", 
line 943, in run
run_simple(host, port, self, **options)
File "/home/teoman/.local/lib/python3.5/site- 
packages/werkzeug/serving.py", line 795, in run_simple
s.bind(get_sockaddr(hostname, port, address_family))
OSError: [Errno 98] Address already in use

我发现有人问过类似的问题,但我无法理解,因为解决方案也很复杂,我对 Flask 应用程序很陌生(大概十分钟),我使用的是 Linux Mint MATE。

注意:localhost:5000 工作正常,但我没有任何 python 命令行打开工作 Flask 应用程序。

【问题讨论】:

  • 如果你没有通过 Ctrl+C 杀死它,那么很可能 Python 没有正确释放套接字并且操作系统认为它已经在使用中。等待一段时间或重新启动您的操作系统。
  • @Rishav 是的,成功了!

标签: python python-3.x flask


【解决方案1】:

似乎其他一些应用程序正在使用端口 5000。您可以使用 netstat 通过以下命令查看哪些进程正在使用端口:

netstat -tulpn

您也可以访问this page查看使用5000端口的常用应用程序

【讨论】:

  • 将 app.run() 中的端口号更改为 5001 可以解决问题。感谢您的提示。
猜你喜欢
  • 2011-05-26
  • 1970-01-01
  • 2021-05-14
  • 2015-06-04
  • 2020-05-18
  • 1970-01-01
相关资源
最近更新 更多