__Lily__
@__Lily__

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【Python】matplotlibで"_tkinter.TclError: can't delete Tcl command"エラー

解決したいこと

matplotlibを勉強中、次のようなエラーが発生しました。
エラーは表示されてもその後は問題なく?処理されているのですが、
原因が気になるので質問します。

エラー発生環境

  • Python 3.10.0
  • PyCharm Community Edition 2021.2.2
  • matplotlib 3.6.3

発生している問題・エラー

Traceback (most recent call last):
  File "C:\work\programming\PyCharm\MatPlotLib\venv\lib\site-packages\matplotlib\cbook\__init__.py", line 307, in process
    func(*args, **kwargs)
  File "C:\work\programming\PyCharm\MatPlotLib\venv\lib\site-packages\matplotlib\backend_bases.py", line 3298, in <lambda>
    "close_event", lambda e: manager.destroy())
  File "C:\work\programming\PyCharm\MatPlotLib\venv\lib\site-packages\matplotlib\backends\_backend_tk.py", line 529, in destroy
    self._window_dpi.trace_remove('write', self._window_dpi_cbname)
  File "C:\Users\username\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 455, in trace_remove
    self._tk.deletecommand(cbname)
_tkinter.TclError: can't delete Tcl command

該当するソースコード

import matplotlib.pyplot
figure = matplotlib.pyplot.figure()
matplotlib.pyplot.show()

上記コード実行後、

  1. 表示されたFigureの下部メニュー"Configure subplots"を押す
  2. 表示された"Subplot configuration tool"ウィンドウを×ボタンで閉じる
  3. Figureを×ボタンで閉じる

の手順で操作すると上記エラーが発生します。

自分で試したこと

  • 作業にはPyCharmの仮想環境を使用していましたが、
    純粋なコマンドプロンプト上からの実行でもエラーは発生しました。

  • ソースコード2行目を以下のように変更しても、エラーは発生しました。

matplotlib.pyplot.plot(0, 0)
  • エラー発生手順の2を飛ばす、つまり"Subplot configuration tool"
    ウィンドウが表示されたままFigureを×ボタンで閉じると、
    このエラーは発生しませんでした。

  • matplotlibの"Configure subplots"について検索したものの、
    ほとんど情報が見つかりませんでした。

  • matplotlibでのTclErrorについても調べてみましたが、
    上記エラーと合致するものは見つかりませんでした。

0

1Answer

Comments

  1. @__Lily__

    Questioner

    迅速な回答ありがとうございます!
    バグだったのですね。修正を待ちたいと思います。

Your answer might help someone💌