问题描述
启动服务
python -m visdom.server
//出现如下结果
D:\app\anaconda\envs\pytorch\lib\site-packages\visdom\server.py:39: DeprecationWarning: zmq.eventloop.ioloop is deprecated in pyzmq 17. pyzmq now works with default tornado and asyncio eventloops.
ioloop.install() # Needs to happen before any tornado imports!
It's Alive!
Traceback (most recent call last):
File "D:\app\anaconda\envs\pytorch\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "D:\app\anaconda\envs\pytorch\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "D:\app\anaconda\envs\pytorch\lib\site-packages\visdom\server.py", line 1922, in <module>
download_scripts_and_run()
File "D:\app\anaconda\envs\pytorch\lib\site-packages\visdom\server.py", line 1918, in download_scripts_and_run
main()
File "D:\app\anaconda\envs\pytorch\lib\site-packages\visdom\server.py", line 1910, in main
start_server(port=FLAGS.port, hostname=FLAGS.hostname, base_url=base_url,
File "D:\app\anaconda\envs\pytorch\lib\site-packages\visdom\server.py", line 1791, in start_server
app.listen(port, max_buffer_size=1024 ** 3)
File "D:\app\anaconda\envs\pytorch\lib\site-packages\tornado\web.py", line 2116, in listen
server.listen(port, address)
File "D:\app\anaconda\envs\pytorch\lib\site-packages\tornado\tcpserver.py", line 152, in listen
self.add_sockets(sockets)
File "D:\app\anaconda\envs\pytorch\lib\site-packages\tornado\tcpserver.py", line 165, in add_sockets
self._handlers[sock.fileno()] = add_accept_handler(
File "D:\app\anaconda\envs\pytorch\lib\site-packages\tornado\netutil.py", line 279, in add_accept_handler
io_loop.add_handler(sock, accept_handler, IOLoop.READ)
File "D:\app\anaconda\envs\pytorch\lib\site-packages\tornado\platform\asyncio.py", line 100, in add_handler
self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
File "D:\app\anaconda\envs\pytorch\lib\asyncio\events.py", line 501, in add_reader
raise NotImplementedError
NotImplementedError
如下问题也类似
Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
解决方法
找到目录D:\app\anaconda\envs\pytorch\Lib\site-packages\tornado\platform
下的asyncio.py
添加代码
if sys.platform == 'win32':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
找到D:\app\anaconda\envs\pytorch\Lib\site-packages\visdom目录下的
server.py添加如下代码
import asyncio
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())