Ошибка Matplotlib _cleanup() с Нибабелем
Я использую Nibabel для обработки изображений Nifty. Nibabel для отображения на самом деле использует Matplotlib под капотом. Ошибка возникает в matplotlib.
Все работает нормально, пока я не попытаюсь закрыть объект Figure (либо с интерфейсом пользователя, либо с вызовом.close() где-нибудь в коде). Сгенерированная ошибка такова:
Traceback (most recent call last):
File "/home/anonymous/.local/lib/python3.6/site-packages/matplotlib/cbook/__init__.py", line 388, in process
proxy(*args, **kwargs)
File "/home/anonymous/.local/lib/python3.6/site-packages/matplotlib/cbook/__init__.py", line 228, in __call__
return mtd(*args, **kwargs)
TypeError: _cleanup() takes 1 positional argument but 2 were given
Я действительно ничего особенного не делаю с этим
def execute(mainProg):
print("Showing middle slices by default")
# Creates the viewer object. Nib.viewers uses matplotlib for displays
data_obj = mainProg.get_current_img().get_fdata()
shapes = data_obj.shape
mySlicer = nib.viewers.OrthoSlicer3D(data_obj)
mySlicer.set_position(int(shapes[0]/2), int(shapes[1]/2),int(shapes[2]/2) )
mySlicer.show()
# At this point, the figure is up & can be interacted with. If I close it, then the exception is raised... Same result if I add a call to .close()
return False
Если я отлаживаю и запускаю его шаг за шагом, на самом деле кажется, что ошибка возникает в Class _BoundMethodProxy
Matplotlib, в def __call__(self, *args, **kwargs)
метод.
Кажется, это не конец света, так как после того, как исключение поднято, цифра закрыта, и программа может продолжаться... все же хотелось бы знать, почему это исключение возникает, хотя.