socket.error: [Errno 10013] 解决方法

Traceback (most recent call last):
File “D:\pythonspaces\test2\src\web\helloword.py”, line 12, in
app.run(host=’0.0.0.0’, port=9000)
File “C:\Python27\lib\site-packages\flask\app.py”, line 841, in run
run_simple(host, port, self, **options)
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 739, in run_simple
inner()
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 699, in inner
fd=fd)
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 593, in make_server
passthrough_errors, ssl_context, fd=fd)
File “C:\Python27\lib\site-packages\werkzeug\serving.py”, line 504, in init
HTTPServer.init(self, (host, int(port)), handler)
File “C:\Python27\lib\SocketServer.py”, line 419, in init
self.server_bind()
File “C:\Python27\lib\BaseHTTPServer.py”, line 108, in server_bind
SocketServer.TCPServer.server_bind(self)
File “C:\Python27\lib\SocketServer.py”, line 430, in server_bind
self.socket.bind(self.server_address)
File “C:\Python27\lib\socket.py”, line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 10013]

问题分析方法:

  1. 定位问题,从打印问题中,可以很清晰的定位到问题出现socket上,具体问题向上看,获取etattr(self._sock,name)(*args)没有成功。为何没有成功?可能是因为我们配置的端口被占用了,或者配错了端口。
  2. 检查我们的代码没有语法,等问题,可以初步判定是port 端口被占用。
  3. 修改端口即可解决该问题。
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=9000)

源码:

def meth(name,self,*args):
    return getattr(self._sock,name)(*args)

查询端口是否被占用

C:\Users\temp>tasklist | findstr “9000”

C:\Users\temp>

? 查询端口却没有发现 9000 这个端口没有被进程占用

Bug 20170001

猜你喜欢

转载自blog.csdn.net/cpythonjava/article/details/78435865
今日推荐