我正在使用flask
和Ubuntu,当我运行python manage.py
时,我得到了这个回溯:
Traceback (most recent call last):
File "manage.py", line 8, in <module>
app.run(debug=True,processes=True)
File "/proj/local/lib/python2.7/site-packages/flask/app.py", line 772, in run
run_simple(host, port, self, **options)
File "/proj/local/lib/python2.7/site-packages/werkzeug/serving.py", line 671, in run_simple
s.bind((hostname, port))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
答案 0 :(得分:6)
这意味着您尝试使用的地址上的此端口(可能是localhost
)已被其他进程使用。
如何解决此问题:
答案 1 :(得分:0)
如果您使用flask
的默认端口,那么您使用的是端口5000 。使用以下命令获取python open进程:
ps aux | grep python
如果您打开了更多python进程,可以使用以下地址检查本地地址LISTEN
中的状态127.0.0.1:5000
的进程:
netstat -tulpn
使用:
终止PID(进程ID) kill -9 PID
答案 2 :(得分:0)
这意味着另一个进程已将您要使用的端口打开以进行侦听,这很可能是因为先前的服务器调用崩溃,或者已退出,并且未进行清理。您可以通过
查看有问题的端口打开的进程(Flask服务器默认为5000)$ PIDTOKILL=`sudo netstat -tnp | grep ":5000" | awk '{ print $7 }' | cut -d '/' -f 1`
$ kill $PIDTOKILL
如果仍然无效,请使用
$ kill -9 $PIDTOKILL
另一个可能的问题是,您正在尝试使用已完全由其他服务声明的端口来运行烧瓶,在这种情况下只需更改您的端口。