运行python manage.py时出错

时间:2016-01-14 10:46:33

标签: python ubuntu flask

我正在使用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

3 个答案:

答案 0 :(得分:6)

这意味着您尝试使用的地址上的此端口(可能是localhost已被其他进程使用。

如何解决此问题:

  • 杀死Python并重新启动脚本
  • 或找到使用您的端口并将其杀死的进程
  • 为您的应用使用其他端口
  • 等了几分钟,也许这个港口还没有被释放。但

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

另一个可能的问题是,您正在尝试使用已完全由其他服务声明的端口来运行烧瓶,在这种情况下只需更改您的端口。