Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib输出未在IPython笔记本中显示内联,尽管有--pylab内联选项_Python_Matplotlib_Ipython Notebook - Fatal编程技术网

Matplotlib输出未在IPython笔记本中显示内联,尽管有--pylab内联选项

Matplotlib输出未在IPython笔记本中显示内联,尽管有--pylab内联选项,python,matplotlib,ipython-notebook,Python,Matplotlib,Ipython Notebook,我正在启动一个IPython笔记本,matplotlib输出不会显示为内联,而是如下所示: <matplotlib.figure.Figure at 0x113035310> 笔记本是以--pylab=inline开始的,当我检查它是否正确时: 这是IPython 1.1.0。当我尝试使用%pylab inline时,我得到了类似的结果: 打印未以内联方式显示的原因还有什么?结果表明,内联显示(甚至可能首先生成图像)失败,因为matplotlib无法加载Vera.ttf字体文件

我正在启动一个IPython笔记本,matplotlib输出不会显示为内联,而是如下所示:

<matplotlib.figure.Figure at 0x113035310>
笔记本是以--pylab=inline开始的,当我检查它是否正确时:

这是IPython 1.1.0。当我尝试使用%pylab inline时,我得到了类似的结果:


打印未以内联方式显示的原因还有什么?

结果表明,内联显示(甚至可能首先生成图像)失败,因为matplotlib无法加载
Vera.ttf
字体文件。它试图从错误的文件系统位置加载该文件,该位置是进程无法访问的,该进程在OSX沙箱中运行

10/29/13 11:59:02.000 PM内核[0]:沙盒:python(24173)拒绝文件读取数据$HOME/Library/Developer/Xcode/DerivedData/IPython_Notebook-adcshxaaibpeztbztbztwtgauvufsx/Build/Products/Debug/IPython Notebook.app/Contents/Resources/virtualenv/lib/python2.7/site packages/matplotlib/mpl数据/font/ttf/Vera.ttf

进程正在从以下位置运行:

0   libsystem_kernel.dylib          0x00007fff9054f5da __open + 10
1   libfreetype.dylib               0x000000010b789214 FT_Stream_New + 260
2   libfreetype.dylib               0x000000010b789e00 FT_Open_Face + 144
3   libfreetype.dylib               0x000000010b789d5e FT_New_Face + 46
4   ft2font.so                      0x000000010b7259f0 FT2Font::FT2Font(Py::PythonClassInstance*, Py::Tuple&, Py::Dict&) + 698
5   ft2font.so                      0x000000010b735fa6 Py::PythonClass<FT2Font>::extension_object_init(_object*, _object*, _object*) + 116
$HOME/Library/Developer/Xcode/DerivedData/IPython_Notebook-adcshxaaibpeztbzttvthgauvufsx/Build/Products/Release/IPython Notebook.app

(“调试”与“发布”)

在我破坏调试位置并重新启动应用程序后,沙盒消息消失,内联打印开始工作。当我将应用程序包复制到另一个位置并从那里启动它时,它再次失败。沙盒冲突报告中的堆栈跟踪表明是FreeType尝试从旧位置加载字体:

0   libsystem_kernel.dylib          0x00007fff9054f5da __open + 10
1   libfreetype.dylib               0x000000010b789214 FT_Stream_New + 260
2   libfreetype.dylib               0x000000010b789e00 FT_Open_Face + 144
3   libfreetype.dylib               0x000000010b789d5e FT_New_Face + 46
4   ft2font.so                      0x000000010b7259f0 FT2Font::FT2Font(Py::PythonClassInstance*, Py::Tuple&, Py::Dict&) + 698
5   ft2font.so                      0x000000010b735fa6 Py::PythonClass<FT2Font>::extension_object_init(_object*, _object*, _object*) + 116
0 libsystem\u kernel.dylib 0x00007fff9054f5da\uu open+10
1 libfreetype.dylib 0x000000010b789214 FT_Stream_New+260
2 libfreetype.dylib 0x000000010b789e00 FT\u开口面+144
3 libfreetype.dylib 0x000000010b789d5e英尺新表面+46
4 ft2font.so 0x000000010b7259f0 ft2font::ft2font(Py::pythonclasstance*,Py::Tuple&,Py::Dict&)+698
5 ft2font.so 0x000000010b735fa6 Py::PythonClass::extension_object_init(_object*,_object*,_object*)+116
一些调查显示matplotlib维护一个
fontList.cache
文件,该文件最终位于应用程序的沙盒容器目录中。移动应用程序包后,该缓存文件中的路径无效/不可访问。在启动时,我访问我的应用以删除此缓存文件


因此,这不是IPython的问题,但我想我会发布这篇文章,以防将来有人将笔记本嵌入沙盒OS X应用程序中。

试试
%matplotlib
内联,我认为这只是默认问题。

您使用的是哪个IPython verion?您能否尝试使用
%pylab inline
而不是pylab import*调用中的
--pylab=inline
?我编辑了这个问题以添加关于这两点的信息。您使用的是哪个浏览器以及该浏览器的哪个版本?并非所有浏览器都受支持。此外,我认为
--pylab
%pylab
正在被弃用,并分别被
--matplotlib
%matplotlib
取代。这个问题实际上经常遇到,请参阅。您是否可以尝试使用
import matplotlib.pyplot as plt代替任何pylab调用;plt.plot([1,2])、display(plt.gcf())
?这是在OS X 10.9上使用Safari实现的。关于%pylab被弃用的有趣说明。我尝试了%matplotlib/--matplotlib,结果相同。我还尝试了Jakob的代码片段,它也输出而不是内联绘图。很明显这里有些东西坏了。不,它与IPython完全无关,matplotlib使用的字体缓存存在一个问题,它不支持OS X沙盒。看看我的答案。但是谢谢你的回答:)我也使用了mac,它似乎能帮助我生成情节。可能是因为我已经在我的电脑上安装了一堆模板。很好的一个,+1来自我。