关于#visdom启动失败#的问题,如何解决?非常感谢您的帮助

  1. 问题描述:
    在安装conda install visdom成功后,启动visdom报错。
(base) C:\Users\user>conda install visdom
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

  1. 问题相关代码,以及报错内容:
(base) C:\Users\user>python -m visdom.server
C:\ProgramData\Anaconda3\lib\site-packages\visdom\server.py:37: 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 "C:\ProgramData\Anaconda3\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\ProgramData\Anaconda3\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\ProgramData\Anaconda3\lib\site-packages\visdom\server.py", line 2062, in <module>
    download_scripts_and_run()
  File "C:\ProgramData\Anaconda3\lib\site-packages\visdom\server.py", line 2058, in download_scripts_and_run
    main()
  File "C:\ProgramData\Anaconda3\lib\site-packages\visdom\server.py", line 2049, in main
    start_server(port=FLAGS.port, hostname=FLAGS.hostname, base_url=base_url,
  File "C:\ProgramData\Anaconda3\lib\site-packages\visdom\server.py", line 1923, in start_server
    app.listen(port, max_buffer_size=1024 ** 3)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\web.py", line 2116, in listen
    server.listen(port, address)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\tcpserver.py", line 152, in listen
    self.add_sockets(sockets)
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\tcpserver.py", line 165, in add_sockets
    self._handlers[sock.fileno()] = add_accept_handler(
  File "C:\ProgramData\Anaconda3\lib\site-packages\tornado\netutil.py", line 279, in add_accept_handler
    io_loop.add_handler(sock, accept_handler, IOLoop.READ)
  File "C:\ProgramData\Anaconda3\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 "C:\ProgramData\Anaconda3\lib\asyncio\events.py", line 501, in add_reader
    raise NotImplementedError
NotImplementedError
  1. 我的解答思路和尝试过的方法:
    根据各位网络上提供的解决方案,
    1)我已经尝试注释掉visdom/server.py中的download_scripts()

def download_scripts_and_run():
#download_scripts()
main()

2)尝试打开visdom的server.py脚本,在start_server函数中app.listen()语句,调用之前,配置asyncio

import asyncio
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

并在anaconda\Lib\site-packages\tornado\platform中找到asynico.py,在其中添加以下代码

if sys.platform == 'win32':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

虽然我的电脑是win64的系统,但是更改之为if sys.platform == 'win64':之后仍然报相同的错误。

Q^Q已经重启了好多次,尝试了好多次了,不知道是哪里出现了什么问题,希望大家可以提点我一下下!非常感谢!
求各位英雄们拯救一下我不理解代码的傻瓜脑袋。

不需要改动为‘win64',64位的系统在使用sys.platform仍然是win32,它是指Win32 API