Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Running notebooks with Python 3.8.3 causes Assertion errors

オープン
#519 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
jupyter-notebook, python
領域
devtools

調査の方向性

Python 3.8.3 の新しい kernel から、リンクされた circuits_advanced/1_advanced_circuits.ipynb を再現し、その後 ipykernel/kernelbase.py と tornado/ioloop.py の traceback の位置を調査してください。Notebook が動作する Python 3.8.2 または 3.7.x と比較してください。互換性の原因を特定し、その結果としての fix または依存関係の変更を検証できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Since upgrading to the latest python release 3.8.3 on my system I have had issues running a notebook, specifically: https://github.com/Qiskit/qiskit-tutorials/blob/master/tutorials/circuits_advanced/1_advanced_circuits.ipynb Running that notebook when you run it from scratch on a fresh kernel it hangs on cell 8 and the jupyter notebook output logs multiple assertion errors:

[I 07:27:26.810 NotebookApp] Replaying 3 buffered messages
[IPKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 543, in execute_request
    self.do_execute(
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 225, in wrapper
    runner = Runner(result, future, yielded)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 712, in __init__
    if self.handle_yield(first_yielded):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 789, in handle_yield
    self.io_loop.add_future(self.future, inner)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/ioloop.py", line 693, in add_future
    assert is_future(future)
AssertionError
[IPKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 543, in execute_request
    self.do_execute(
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 225, in wrapper
    runner = Runner(result, future, yielded)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 712, in __init__
    if self.handle_yield(first_yielded):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 789, in handle_yield
    self.io_loop.add_future(self.future, inner)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/ioloop.py", line 693, in add_future
    assert is_future(future)
AssertionError
[IPKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 543, in execute_request
    self.do_execute(
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 225, in wrapper
    runner = Runner(result, future, yielded)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 712, in __init__
    if self.handle_yield(first_yielded):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 789, in handle_yield
    self.io_loop.add_future(self.future, inner)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/ioloop.py", line 693, in add_future
    assert is_future(future)
AssertionError
[IPKernelApp] ERROR | Exception in message handler:
Traceback (most recent call last):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 268, in dispatch_shell
    yield gen.maybe_future(handler(stream, idents, msg))
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 735, in run
    value = future.result()
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 209, in wrapper
    yielded = next(result)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/ipykernel/kernelbase.py", line 543, in execute_request
    self.do_execute(
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 225, in wrapper
    runner = Runner(result, future, yielded)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 712, in __init__
    if self.handle_yield(first_yielded):
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/gen.py", line 789, in handle_yield
    self.io_loop.add_future(self.future, inner)
  File "/tmp/test-tutorials/lib/python3.8/site-packages/tornado/ioloop.py", line 693, in add_future
    assert is_future(future)
AssertionError

Downgrading python to 3.8.2 (or 3.7.x) fixes this. I've also confirmed it on other platforms (I run on linux, but mac users running 3.8.3 have had the same issue). I assume this is probably a bug in python or tornado, but I lack the domain expertise on the stack to be sure.

主要言語
Python
スター
734
フォーク
411
平均マージ
1日 2時間
マージ済み PR(30日)
9

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ipython/ipykernel のほかの issue

ipython/ipykernel の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。