Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

test_pylab fails

Đang mở
#1,301 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
testing-qa

Hướng nghiên cứu

Bắt đầu với tests/inprocess/test_kernel.py và lỗi test_pylab của nó, sau đó kiểm tra InProcessInteractiveShell.enable_pylab và enable_matplotlib trong traceback. Kiểm tra tương tác với API pylabtools đã bị deprecated của IPython 8.29; hoàn tất khi bài kiểm thử pylab trong tiến trình chạy xong và vượt qua mà không có ngoại lệ được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Hi,

Running the test suite of ipykernel 6.29.5 using Pthon 3.10 and Ipython 8.29.0, I see this test failure:

__________________________________ test_pylab __________________________________

kc = <ipykernel.inprocess.blocking.BlockingInProcessKernelClient object at 0x7ffff3446980>

    def test_pylab(kc):
        """Does %pylab work in the in-process kernel?"""
        _ = pytest.importorskip("matplotlib", reason="This test requires matplotlib")
        kc.execute("%pylab")
        out, err = assemble_output(kc.get_iopub_msg)
>       assert "matplotlib" in out
E       AssertionError: assert 'matplotlib' in ''

_          = <module 'matplotlib' from '/gnu/store/wbwcw9vpg32mxkasl19k7h6y1dfvv8an-python-matplotlib-3.8.2/lib/python3.10/site-packages/matplotlib/__init__.py'>
err        = ''
kc         = <ipykernel.inprocess.blocking.BlockingInProcessKernelClient object at 0x7ffff3446980>
out        = ''

tests/inprocess/test_kernel.py:61: AssertionError
---------------------------- Captured stdout setup -----------------------------
status
------------------------------ Captured log call -------------------------------
INFO     ipykernel.inprocess.ipkernel:ipkernel.py:483 Exception in execute request:
---------------------------------------------------------------------------
DeprecationWarning                        Traceback (most recent call last)
Cell In[2], line 1
----> 1 get_ipython().run_line_magic('pylab', '')

File /gnu/store/62qx5jgqg1sz496jkvcpvlkg42qc3zzp-python-ipython-8.29.0/lib/python3.10/site-packages/IPython/core/interactiveshell.py:2480, in InteractiveShell.run_line_magic(self, magic_name, line, _stack_depth)
   2478     kwargs['local_ns'] = self.get_local_scope(stack_depth)
   2479 with self.builtin_trap:
-> 2480     result = fn(*args, **kwargs)
   2482 # The code below prevents the output from being displayed
   2483 # when using magics with decorator @output_can_be_silenced
   2484 # when the last Python token in the expression is a ';'.
   2485 if getattr(fn, magic.MAGIC_OUTPUT_CAN_BE_SILENCED, False):

File /gnu/store/62qx5jgqg1sz496jkvcpvlkg42qc3zzp-python-ipython-8.29.0/lib/python3.10/site-packages/IPython/core/magics/pylab.py:159, in PylabMagics.pylab(self, line)
    155 else:
    156     # invert no-import flag
    157     import_all = not args.no_import_all
--> 159 gui, backend, clobbered = self.shell.enable_pylab(args.gui, import_all=import_all)
    160 self._show_matplotlib_backend(args.gui, backend)
    161 print(
    162     "%pylab is deprecated, use %matplotlib inline and import the required libraries."
    163 )

File ~/guix-build-python-ipykernel-6.29.5.drv-0/ipykernel-6.29.5/ipykernel/inprocess/ipkernel.py:200, in InProcessInteractiveShell.enable_pylab(self, gui, import_all, welcome_message)
    198 if not gui:
    199     gui = self.kernel.gui
--> 200 return super().enable_pylab(gui, import_all, welcome_message)

File /gnu/store/62qx5jgqg1sz496jkvcpvlkg42qc3zzp-python-ipython-8.29.0/lib/python3.10/site-packages/IPython/core/interactiveshell.py:3719, in InteractiveShell.enable_pylab(self, gui, import_all, welcome_message)
   3692 """Activate pylab support at runtime.
   3693 
   3694 This turns on support for matplotlib, preloads into the interactive
   (...)
   3715     This argument is ignored, no welcome message will be displayed.
   3716 """
   3717 from IPython.core.pylabtools import import_pylab
-> 3719 gui, backend = self.enable_matplotlib(gui)
   3721 # We want to prevent the loading of pylab to pollute the user's
   3722 # namespace as shown by the %who* magics, so we execute the activation
   3723 # code in an empty namespace, and we update *both* user_ns and
   3724 # user_ns_hidden with this information.
   3725 ns = {}

File ~/guix-build-python-ipykernel-6.29.5.drv-0/ipykernel-6.29.5/ipykernel/inprocess/ipkernel.py:194, in InProcessInteractiveShell.enable_matplotlib(self, gui)
    192 if not gui:
    193     gui = self.kernel.gui
--> 194 return super().enable_matplotlib(gui)

File /gnu/store/62qx5jgqg1sz496jkvcpvlkg42qc3zzp-python-ipython-8.29.0/lib/python3.10/site-packages/IPython/core/interactiveshell.py:3665, in InteractiveShell.enable_matplotlib(self, gui)
   3662     import matplotlib_inline.backend_inline
   3664 from IPython.core import pylabtools as pt
-> 3665 gui, backend = pt.find_gui_and_backend(gui, self.pylab_gui_select)
   3667 if gui != None:
   3668     # If we have our first gui selection, store it
   3669     if self.pylab_gui_select is None:

File /gnu/store/62qx5jgqg1sz496jkvcpvlkg42qc3zzp-python-ipython-8.29.0/lib/python3.10/site-packages/IPython/core/pylabtools.py:358, in find_gui_and_backend(gui, gui_select)
    355 mpl_version_info = getattr(matplotlib, "__version_info__", (0, 0))
    356 has_unified_qt_backend = mpl_version_info >= (3, 5)
--> 358 from IPython.core.pylabtools import backends
    360 backends_ = dict(backends)
    361 if not has_unified_qt_backend:

File /gnu/store/62qx5jgqg1sz496jkvcpvlkg42qc3zzp-python-ipython-8.29.0/lib/python3.10/site-packages/IPython/core/pylabtools.py:77, in __getattr__(name)
     75 def __getattr__(name):
     76     if name in ("backends", "backend2gui"):
---> 77         warnings.warn(
     78             f"{name} is deprecated since IPython 8.24, backends are managed "
     79             "in matplotlib and can be externally registered.",
     80             DeprecationWarning,
     81         )
     82         return globals()[f"_deprecated_{name}"]
     83     raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

DeprecationWarning: backends is deprecated since IPython 8.24, backends are managed in matplotlib and can be externally registered.

It seems caused by the use of a deprecated IPython API.

Ngôn ngữ chính
Python
Star
734
Fork
411
Merge trung bình
1 ngày 2 giờ
Pull request đã merge (30 ngày)
9

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ipython/ipykernel

Tất cả issue của ipython/ipykernel

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.