Matplotlib.pyplot:全局名称时间未定义错误

时间:2017-10-27 19:26:25

标签: python matplotlib ipython jupyter-notebook

我最近开始在我的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

1 个答案:

答案 0 :(得分:3)

有关此问题的错误报告here。问题是pyplot.py中缺少import time语句。

解决此问题的

A pull request已合并到主分支中,应包含在2.1.1版本中。

我可以通过使用matplotlib主分支中的pyplot.py来确认这个问题不再适用于我。