Записная книжка Jupyter : ОШИБКА:asyncio:Исключение при обратном вызове

#python-3.x #windows #jupyter-notebook

Вопрос:

Я использую ноутбук Jupyter в Windows 10 с Python 3.9.6. Я установил Jupyter Notebook с помощью этой команды pip install jupyter и запустил его с помощью этой команды jupyter notebook . Поэтому после запуска ноутбука в терминале я также вижу некоторые ошибки, но до сих пор я, похоже, не вижу никакого влияния из-за этого. Но все же хотел проверить, на что на самом деле указывает эта ошибка и есть ли способ ее исправить?

 [I 18:25:02.479 NotebookApp] Serving notebooks from local directory: C:UsersmaryoDesktoppythonjpnb
[I 18:25:02.479 NotebookApp] Jupyter Notebook 6.4.3 is running at:
[I 18:25:02.479 NotebookApp] http://localhost:8888/?token=dfd2534b828985fcc116e9c400fd31381e9c8f19034e39d3
[I 18:25:02.479 NotebookApp]  or http://127.0.0.1:8888/?token=dfd2534b828985fcc116e9c400fd31381e9c8f19034e39d3
[I 18:25:02.479 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 18:25:02.508 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///C:/Users/maryo/AppData/Roaming/jupyter/runtime/nbserver-17088-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=dfd2534b828985fcc116e9c400fd31381e9c8f19034e39d3
     or http://127.0.0.1:8888/?token=dfd2534b828985fcc116e9c400fd31381e9c8f19034e39d3
c:usersmaryoappdatalocalprogramspythonpython39libjsonencoder.py:257: UserWarning: date_default is deprecated since jupyter_client 7.0.0. Use jupyter_client.jsonutil.json_default.
  return _iterencode(o, 0)
[W 18:27:49.960 NotebookApp] Notebook Covid Data Analysis.ipynb is not trusted
ERROR:asyncio:Exception in callback <TaskStepMethWrapper object at 0x000002C98ECD81F0>()
handle: <Handle <TaskStepMethWrapper object at 0x000002C98ECD81F0>()>
Traceback (most recent call last):
  File "c:usersmaryoappdatalocalprogramspythonpython39libasyncioevents.py", line 80, in _run
    self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending name='Task-41' coro=<RequestHandler._execute() running at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoweb.py:1660> cb=[_HandlerDelegate.execute.<locals>.<lambda>() at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoweb.py:2326]> while another task <Task pending name='Task-40' coro=<MappingKernelManager.start_kernel() running at C:UsersmaryoDesktoppythonjpnblibsite-packagesnotebookserviceskernelskernelmanager.py:176> cb=[IOLoop.add_future.<locals>.<lambda>() at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoioloop.py:688]> is being executed.
ERROR:asyncio:Exception in callback <TaskStepMethWrapper object at 0x000002C98DA94880>()
handle: <Handle <TaskStepMethWrapper object at 0x000002C98DA94880>()>
Traceback (most recent call last):
  File "c:usersmaryoappdatalocalprogramspythonpython39libasyncioevents.py", line 80, in _run
    self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending name='Task-30' coro=<HTTP1ServerConnection._server_request_loop() running at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadohttp1connection.py:840> cb=[IOLoop.add_future.<locals>.<lambda>() at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoioloop.py:688]> while another task <Task pending name='Task-40' coro=<MappingKernelManager.start_kernel() running at C:UsersmaryoDesktoppythonjpnblibsite-packagesnotebookserviceskernelskernelmanager.py:176> cb=[IOLoop.add_future.<locals>.<lambda>() at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoioloop.py:688]> is being executed.
C:UsersmaryoDesktoppythonjpnblibsite-packagesjupyter_clientioloopmanager.py:9: RuntimeWarning: coroutine 'RequestHandler._execute' was never awaited
  from .restarter import AsyncIOLoopKernelRestarter
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending name='Task-41' coro=<RequestHandler._execute() running at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoweb.py:1660> cb=[_HandlerDelegate.execute.<locals>.<lambda>() at C:UsersmaryoDesktoppythonjpnblibsite-packagestornadoweb.py:2326]>
 

Комментарии:

1. Смотрите эту проблему на github для объяснений и исправлений.

Ответ №1:

С другой стороны, этой проблемы можно избежать, настроив ноутбук для работы с его AsyncMappingKernelManager вместо этого, что обеспечивает полный асинхронный стек

Этот метод не является постоянным методом каждый раз, когда вы открываете записную книжку Jupyter, вам нужно добавить эти настройки

 jupyter notebook --NotebookApp.kernel_manager_class=notebook.services.kernels.kernelmanager.AsyncMappingKernelManager
 

или

Этот метод является постоянным методом

Шаг 1

бежать

 jupyter notebook --generate-config
 

Это создаст jupyter_notebook_config.py в вашей папке Jupyter. Папка Jupyter находится в вашем домашнем каталоге,~/. jupyter

Шаг 2

найдите эти две строки в этой папке

 ## The kernel manager class to use.
#  Default: 'notebook.services.kernels.kernelmanager.MappingKernelManager'
 

под этой строкой добавьте эту строку

 c.NotebookApp.kernel_manager_class = 'notebook.services.kernels.kernelmanager.AsyncMappingKernelManager'
 

подобный этому

 ## The kernel manager class to use.
#  Default: 'notebook.services.kernels.kernelmanager.MappingKernelManager'
#  c.NotebookApp.kernel_manager_class = 'notebook.services.kernels.kernelmanager.MappingKernelManager'
c.NotebookApp.kernel_manager_class = 'notebook.services.kernels.kernelmanager.AsyncMappingKernelManager'
 

Сохраните и запустите ноутбук jupyter в обычном режиме

Ответ №2:

если вы используете anaconda, попробуйте «pip install jupyter» вместо «conda install jupyter».