Es stellt sich heraus, dass die Inline-Anzeige (und wahrscheinlich sogar das Erstellen des Bildes an erster Stelle) fehlgeschlagen ist, da Matplotlib die Schriftartdatei Vera.ttf
nicht laden konnte. Es wurde versucht, diese Datei vom falschen Speicherort des Dateisystems zu laden, der für den Prozess nicht zugänglich war und in einer OS X-Sandbox ausgeführt wurde.
10/29/13 11:59:02.000 PM kernel[0]: Sandbox: python(24173) deny file-read-data $HOME/Library/Developer/Xcode/DerivedData/IPython_Notebook-adcshxaaibpeztbztvthgauvufsx/Build/Products/Debug/IPython Notebook.app/Contents/Resources/virtualenv/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
Der Prozess von diesem Standort ausgeführt wurde:
$HOME/Library/Developer/Xcode/DerivedData/IPython_Notebook-adcshxaaibpeztbztvthgauvufsx/Build/Products/Release/IPython Notebook.app
("Debug" vs "Release")
Nachdem ich die Debug-Standort im Papierkorb und Relaunch der App, Die Sandbox-Nachricht wurde gelöscht und das Inline-Plotten wurde gestartet. Wenn ich das Anwendungspaket an einen anderen Speicherort kopiert und von dort gestartet habe, ist es erneut fehlgeschlagen. Der Stack-Trace in dem Bericht Sandbox-Verletzung zeigt an, dass es Freetype ist, der die Schriftart von der alten Position zu laden versucht:
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
Einige Untersuchung ergab, dass matplotlib eine fontList.cache
Datei verwaltet, die in der Sandbox Containerverzeichnis endet der App. Nachdem das Anwendungs-Bundle verschoben wurde, sind die Pfade in dieser Cachedatei ungültig/unzugänglich. I added code an meine App, um diese Cache-Datei beim Start zu entfernen.
Also nicht wirklich ein IPython-Problem, aber ich dachte, ich würde dies posten, falls es jemandem hilft, der das Notebook in Zukunft auch in eine Sandbox-OS X-App einbettet.
Welche IPython-Version verwenden Sie? Kannst du es mit '% pylab inline' anstelle der' --pylab = inline' und 'from pylab import *' Aufrufe versuchen? – Jakob
Ich habe die Frage bearbeitet, um Informationen zu diesen beiden Punkten hinzuzufügen. –
Welchen Browser und welche Version dieses Browsers benutzen Sie? Nicht alle Browser werden unterstützt. Außerdem denke ich, dass '--pylab' und'% pylab' veraltet sind und durch '--matplotlib' bzw.'% matplotlib' ersetzt werden. – gotgenes