我最近开始在我的jupyter笔记本中遇到pyplot的一个奇怪问题。尝试pyplot.pause()
时,我在实际的matplotlib包中出现名称错误。
与.py
文件而不是.ipynb
执行的完全相同的代码中不会出现此名称错误。其他所有内容在.py
和.ipynb
之间执行相同的操作,并且它们都使用相同的虚拟环境和包。
---------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-9-11e7508f518d> in <module>()
32 plt.title('Epoch: {0}, loss: {1:.4}'.format(epoch, loss_history[epoch-1]))
33 plt.show()
---> 34 plt.pause(0.001)
35 #display.display(plt.gcf())
36 #display.display(plt.show())
/home/user/.pyenv/versions/2.7.14/envs/P2714/lib/python2.7/site-packages/matplotlib/pyplot.pyc in pause(interval)
292 canvas.start_event_loop(interval)
293 else:
--> 294 time.sleep(interval)
295
296
NameError: global name 'time' is not defined
答案 0 :(得分:3)
有关此问题的错误报告here。问题是pyplot.py中缺少import time
语句。
A pull request已合并到主分支中,应包含在2.1.1版本中。
我可以通过使用matplotlib主分支中的pyplot.py来确认这个问题不再适用于我。