我在RHEL6.7上通过Anaconda使用ipython笔记本。机器设置了一个NFS存储;即,df -P -T /home/USERNAME | tail -n +2 | awk '{print $2}'
打印“NFS”。在
所以我想保存在ipython笔记本中创建的matplotlib图形。但是,调用savefig
函数会产生这样的错误(我已经抑制了大部分错误):
RuntimeError: dvipng was not able to process the following file:
/home/USERNAME/.cache/matplotlib/tex.cache/3007d273a0b2642aa3abce6d3d640283.dvi
Here is the full report generated by dvipng:
No dvipng error report available.
我怀疑这与NFS有关(因为它在过去给我带来了其他问题),但除此之外,我真的不知道从这里该怎么办。非常感谢任何帮助,如果我能提供更多的信息,请告诉我。在
同样的问题也发生在最新的opensuseleap VM中,其中有一个也是最新的Anaconda堆栈。令我沮丧的是,这并不是确定性的:在非常不同的数据集上批量生成绘图失败。这有助于插入
现在这个问题发生的频率要低得多。不过还是个皮塔。在
如果没有正确维护的LateX包,matplotlib(至少运行在Jupyter笔记本上)显然无法保存LateX格式的绘图,即使它们显示正确。在
严格来说,这可能不是NFS的问题。在
看看它的source in this line和this line(注意这里有一个错误:它应该说}),似乎带有}的外部命令失败了。在
"dvips failed"
,而不是{dvipng
或{所以有很多可能性。首先,您需要弄清楚哪个外部程序正在被
system()
编辑。然后,您可能需要检查是否可以在PATH
环境变量中找到该命令,或者文件本身是否正在使该命令崩溃。尝试在该文件上手动运行dvip(ng|s)
,看看是否可以得到一个错误报告。在顺便说一句,从链接的源代码中,如果我正确地读取了源代码(IIRTSC),我认为}是邪恶的。。。在
matplotlib
库通过捕获dvip(ng|s)
命令的stdout
来捕获错误报告是不正确的。我们知道{相关问题 更多 >
编程相关推荐