OSError: [Errno 98] Address already in use(关键词:flask/bug)

来源:互联网 发布:nba骑士vs公牛数据 编辑:程序博客网 时间:2024/06/07 14:15

项目结构:

henry@henry-virtual-machine:~/dev/myproject/flaskr$ tree.├── flaskr.py├── schema.sql├── static└── templates2 directories, 2 files

flaskr.py:

# flaskr.pyimport osimport sqlite3from flask import Flask, request, session, g, redirect, url_for, abort, \    render_template, flashapp = Flask(__name__)def connect_db():    rv = sqlite3.connect(app.config['DATABASE'])    rv.row_factory = sqlite3.Row    return rvdef init_db():    with app.app_context():        db = get_db()        with app.open_resource('schema.sql', mode='r') as f:            db.cursor().executescript(f.read())        db.commit()if __name__ == '__main__':    app.run()

报错:

Traceback (most recent call last):  File "/home/henry/dev/myproject/flaskr/flaskr.py", line 23, in <module>    app.run()  File "/home/henry/.local/lib/python3.5/site-packages/flask/app.py", line 841, in run    run_simple(host, port, self, **options)  File "/home/henry/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 739, in run_simple    inner()  File "/home/henry/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 699, in inner    fd=fd)  File "/home/henry/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 593, in make_server    passthrough_errors, ssl_context, fd=fd)  File "/home/henry/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 504, in __init__    HTTPServer.__init__(self, (host, int(port)), handler)  File "/usr/lib/python3.5/socketserver.py", line 440, in __init__    self.server_bind()  File "/usr/lib/python3.5/http/server.py", line 138, in server_bind    socketserver.TCPServer.server_bind(self)  File "/usr/lib/python3.5/socketserver.py", line 454, in server_bind    self.socket.bind(self.server_address)OSError: [Errno 98] Address already in use[Finished in 1.9s]

临时解决办法:

$ ps -fA | grep pythonhenry    127112   1181  0 12:07 ?        00:00:05 /usr/bin/python /usr/bin/x-terminal-emulatorhenry    127201 124727  0 12:09 ?        00:00:01 python3 -u /home/henry/dev/myproject/flaskr/flaskr.pyhenry    127252 127122  0 12:20 pts/4    00:00:00 grep --color=auto python$ kill 127201

长期解决办法还没看明白。

参考文献:
1.https://stackoverflow.com/questions/4465959/python-errno-98-address-already-in-use?lq=1
2.解决socket.error: [Errno 98] Address already in use问题

阅读全文
0 0