Open ianthomas23 opened 6 months ago
Probably because of external event loop integration.
enter_eventloop
is only ever called if kernel.eventloop
is set at startup:
If the eventloop
is set later, e.g. via %matplotlib qt
, it is never called.
Plus there are 7 uses of kernel.shell_stream
in eventloops.py
and the shell_stream
was replaced with shell_port
in the AnyIO changes. So evidently this code isn't covered by any ipykernel
tests.
With the commit before the AnyIO PR on the
main
branch (830829fd) and usingipython 8.23.0
andmatplotlib 3.8.4
, the displaying of Matplotlib plots in separate windows (e.g. withqt
backend) using jupyter works fine. With the AnyIO commit (772dfb8a) onwards the plot windows are no longer displayed.Code to reproduce (I've been using
jupyter qtconsole
butjupyter lab
, etc, all show the same):In
ipython
the same example works fine.