TclError: неверное имя команды "pyimage58" - PullRequest
0 голосов
/ 28 октября 2019

Я следовал учебному пособию по YouTube, показывающему, как визуализировать звук с помощью python, и столкнулся с этой ошибкой, пытаясь выполнить код, который я написал в точности так, как он написал.

fig = plt.figure()
ax = fig.add_subplot(111)
x = np.arange(0 , 2 * CHUNK, 2)
line, = ax.plot(x , np.random.rand(CHUNK))
while True:
    data = stream.read(CHUNK)
    data_int = np.array(struct.unpack(str(2 * CHUNK) + 'B', data), dtype = 'b' )[::2] + 127
    line.set_ydata(data_int)
    fig.canvas.draw()
    fig.canvas.flush_events()

Код должен былчтобы вывести график, который изменился, как я говорил на микрофоне, но вместо этого я получил следующую ошибку:

-------------------------------------------------------------------- 
-------
TclError                                  Traceback (most recent call last)
<ipython-input-33-48f6f2f43ff3> in <module>
      3     data_int = np.array(struct.unpack(str(2 * CHUNK) + 'B', data), dtype = 'b' )[::2] + 127
      4     line.set_ydata(data_int)
----> 5     fig.canvas.draw()

/usr/local/lib/python3.6/dist- 
packages/matplotlib/backends/backend_tkagg.py in draw(self)
      8     def draw(self):
      9         super(FigureCanvasTkAgg, self).draw()
---> 10         _backend_tk.blit(self._tkphoto, self.renderer._renderer, (0, 1, 2, 3))
     11         self._master.update_idletasks()
     12 

/usr/local/lib/python3.6/dist- 
packages/matplotlib/backends/_backend_tk.py in blit(photoimage, aggimage, offsets, bbox)
     86                    math.floor(y1), math.ceil(y2))
     87     else:
---> 88         photoimage.blank()
     89         bboxptr = (0, width, 0, height)
     90     _tkagg.blit(

/usr/lib/python3.6/tkinter/__init__.py in blank(self)
   3546     def blank(self):
   3547         """Display a transparent image."""
-> 3548         self.tk.call(self.name, 'blank')
   3549     def cget(self, option):
   3550         """Return the value of OPTION."""

TclError: invalid command name "pyimage58"

Я попытался погуглить эту ошибку, но она показывает только "совпадений не найдено". Похоже, никтокогда-либо имел эту ошибку раньше. Было бы замечательно, если бы кто-нибудь мог помочь, я застрял.

PS: Это мой первый вопрос, пожалуйста, простите, если я не задал вопрос должным образом.

...