Jedes Mal, wenn ich IPython Notebook starte, ist der erste Befehl, den ich ausführe
%matplotlib inline
Gibt es eine Möglichkeit, meine Konfigurationsdatei so zu ändern, dass sie sich beim Starten von IPython automatisch in diesem Modus befindet?
Jedes Mal, wenn ich IPython Notebook starte, ist der erste Befehl, den ich ausführe
%matplotlib inline
Gibt es eine Möglichkeit, meine Konfigurationsdatei so zu ändern, dass sie sich beim Starten von IPython automatisch in diesem Modus befindet?
ipython --matplotlib
ist besserAntworten:
Der Konfigurationsweg
IPython verfügt über Profile für die Konfiguration unter
~/.ipython/profile_*
. Das Standardprofil wird aufgerufenprofile_default
. In diesem Ordner befinden sich zwei primäre Konfigurationsdateien:ipython_config.py
ipython_kernel_config.py
Fügen Sie die Inline-Option für matplotlib hinzu zu
ipython_kernel_config.py
:Matplotlib vs. Pylab
Von der Verwendung von
%pylab
Inline-Plots wird abgeraten .Es führt alle Arten von Gunk in Ihren Namespace ein, die Sie einfach nicht benötigen.
%matplotlib
Auf der anderen Seite können Sie Inline-Plots erstellen, ohne Ihren Namespace einzufügen. Sie müssen explizite Aufrufe ausführen, um matplotlib und numpy zu importieren.Der geringe Preis für das explizite Eingeben Ihrer Importe sollte vollständig durch die Tatsache überwunden werden, dass Sie jetzt reproduzierbaren Code haben.
quelle
%matplotlib
wirksam werden würde, oder ob beide das Standard-Backend festlegten und es automatisch für die sofortige Verwendung in der einrichteten iPython-Umgebung.matplotlib
vs zupylab
ergänzen. Ich glaube, es ist durchaus üblich, ein Profil zu haben, in dem Sie automatisch übliche Importe wieimport numpy as np; import pandas as pd; import matplotlib.pyplot as plt
usw. ausführen. NB:pylab
ist nicht dasselbe wiepyplot
. Ich muss einen Monat gebraucht haben, um das zu realisieren.ipython_kernel_config.py
, die diese Option enthält. Erstellen Sie ein neues Profil (ipython profile create test
), um eine Standardeinstellung zu erhalten.c.InteractiveShellApp.matplotlib = "inline"
Ich denke, Sie möchten möglicherweise Folgendes über die Befehlszeile ausführen:
Wenn Sie es nicht jedes Mal in die cmd-Zeile eingeben möchten, können Sie einen Alias erstellen, der dies für Sie erledigt.
quelle
--matplotlib inline
und entfernen Sie das --pylab-Zeug. Siehe diesen Beitrag einer Ipython-Entwicklung, warum: carreau.github.io/posts/10-No-PyLab-Thanks.ipynb.htmlmatplotlib=inline
: Es verlangsamt jeden Kernel, den Sie starten, unabhängig davon, ob Sie matplotlib verwenden möchten.--matplotlib
oder--pylab
werden ignoriert.%pylab
oder%matplotlib
verwendet werden sollten.Die Einstellung wurde in
Jupyter 5.X
und höher durch Hinzufügen des folgenden Codes deaktiviertUnd in früheren Versionen war es hauptsächlich eine Warnung. Dies ist jedoch kein großes Problem, da Jupyter Konzepte von verwendet
kernels
und Sie den Kernel für Ihr Projekt finden können, indem Sie den folgenden Befehl ausführenDies gibt mir den Pfad zum Kernel-Ordner. Wenn ich jetzt die
/Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3/kernel.json
Datei öffne , sehe ich so etwas wie untenSo können Sie sehen, welcher Befehl ausgeführt wird, um den Kernel zu starten. Wenn Sie also den folgenden Befehl ausführen
Also jetzt, wenn wir unsere
kernel.json
Datei auf aktualisierenUnd wenn ich laufe, sind
jupyter notebook
die Grafiken automatischinline
Beachten Sie, dass der folgende Ansatz auch weiterhin funktioniert, wenn Sie eine Datei im folgenden Pfad erstellen
~ / .ipython / profile_default / ipython_kernel_config.py
Der Nachteil dieses Ansatzes ist jedoch, dass dies eine globale Auswirkung auf jede Umgebung ist, die Python verwendet. Sie können dies auch dann als Vorteil betrachten, wenn Sie mit einer einzigen Änderung ein gemeinsames Verhalten in verschiedenen Umgebungen erzielen möchten.
Wählen Sie also den Ansatz, den Sie basierend auf Ihren Anforderungen verwenden möchten
quelle
ipython_config.py
Suchen Sie in Ihrer Datei nach den folgenden Zeilenund
und kommentiere sie aus. Wechseln Sie dann
None
zu dem Backend, das Sie verwenden (ich verwende'qt4'
), und speichern Sie die Datei. Starten Sie IPython neu, und matplotlib und pylab sollten geladen werden. Mit demdir()
Befehl können Sie überprüfen, welche Module sich im globalen Namespace befinden.quelle
In (dem aktuellen) IPython 3.2.0 (Python 2 oder 3)
Öffnen Sie die Konfigurationsdatei im versteckten Ordner .ipython
Fügen Sie die folgende Zeile hinzu
füge es gleich danach hinzu
quelle
Neben @Kyle Kelley und @DGrady finden Sie hier den Eintrag in der
$HOME/.ipython/profile_default/ipython_kernel_config.py
(oder welches Profil Sie erstellt haben)Veränderung
zu
Dies funktioniert dann sowohl in ipython qtconsole- als auch in Notebook-Sitzungen.
quelle
Erstellen Sie eine beliebige
.py
Datei~/.ipython/profile_default/startup/
mitquelle