我正在使用Python 3.8,这是jupyter --version
的打印输出:
jupyter core : 4.6.3
jupyter-notebook : 6.0.3
qtconsole : not installed
ipython : 7.13.0
ipykernel : 5.1.4
jupyter client : 6.0.0
jupyter lab : 2.0.0
nbconvert : 5.6.1
ipywidgets : 7.5.1
nbformat : 5.0.4
traitlets : 4.3.3
除了以下内容外,我什么也没做(直接来自文档):
pip install voila
git clone https://github.com/QuantStack/voila
cd voila
voila notebooks/bqplot.ipynb
打印以下内容:
Traceback (most recent call last):
File "c:\program files\python38\lib\runpy.py", line 192, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\program files\python38\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files\Python38\Scripts\voila.exe\__main__.py", line 7, in <module>
File "c:\program files\python38\lib\site-packages\traitlets\config\application.py", line 664, in launch_instance
app.start()
File "c:\program files\python38\lib\site-packages\voila\app.py", line 509, in start
self.listen()
File "c:\program files\python38\lib\site-packages\voila\app.py", line 529, in listen
self.app.listen(port)
File "c:\program files\python38\lib\site-packages\tornado\web.py", line 2116, in listen
server.listen(port, address)
File "c:\program files\python38\lib\site-packages\tornado\tcpserver.py", line 152, in listen
self.add_sockets(sockets)
File "c:\program files\python38\lib\site-packages\tornado\tcpserver.py", line 165, in add_sockets
self._handlers[sock.fileno()] = add_accept_handler(
File "c:\program files\python38\lib\site-packages\tornado\netutil.py", line 279, in add_accept_handler
io_loop.add_handler(sock, accept_handler, IOLoop.READ)
File "c:\program files\python38\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:\program files\python38\lib\asyncio\events.py", line 501, in add_reader
raise NotImplementedError
NotImplementedError
我是Jupyter Notebooks / Lab的初学者。我该如何解决?
答案 0 :(得分:5)
在asyncio.py
之后的import asyncio
中添加以下行:
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
https://github.com/mkdocs/mkdocs/commit/2172c9f999b17201102732a53c08e3de0dd48c74
答案 1 :(得分:1)
它现在对我有用4次。
也许公元前我只使用点子和一些轮子。
在win10上,这可能会使您陷入困境。麻烦特别是地理上的问题。但是我仍然坚持和管理。
我认为大多数Windows用户都会收到此错误,因为“未实现” ...
而且我认为在这种情况下,win10系列仍然不受欢迎。
但是,将win10和pip结合起来并不难。
这就是为什么我给出了这个解决方案。
答案 2 :(得分:0)
尽管@PerteTotale 的回答正确地解决了这个问题,但不建议修改库的内部结构。您可以在设置适当的策略时为 voila 编写一个单独的启动器,例如:
import re
import sys
from voila.app import main
import asyncio
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
if sys.platform == 'win32':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
sys.exit(main())