В этом конкретном случае .setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
может вызываться из класса TCPServer, когда установлена опция allow_reuse_address
. Так что я смог решить это следующим образом:
httpd = SocketServer.ThreadingTCPServer(('localhost', port), CustomHandler, False) # Do not automatically bind
httpd.allow_reuse_address = True # Prevent 'cannot bind to address' errors on restart
httpd.server_bind() # Manually bind, to support allow_reuse_address
httpd.server_activate() # (see above comment)
httpd.serve_forever()
Во всяком случае, подумал, что это может быть полезно. Решение будет немного отличаться в Python 3.0