Exécuter automatiquement %matplotlib inline dans IPython Notebook
Chaque fois que je lance IPython Notebook, la première commande que j'run est
%matplotlib inline
Est-il possible de modifier mon fichier de config de sorte que lorsque je lance IPython, il est automatiquement dans ce mode?
- Est-ce que " ipython -pylab de travail?
- Si oui, vous pouvez alias ipython pour faire cela assez facilement.
ipython --matplotlib
est mieux- S'il vous plaît ignorer la prime. La réponse sélectionnée fonctionne pour 5.5.0. Je vais fermer le bounty après l'obligatoire période de 24 heures. Désolé à ce sujet!
- Je parie que vous avez passé plus de temps à taper cette question et d'essayer de mettre en œuvre la solution que de simplement coller en début de votre ordinateur portable 😀
Vous devez vous connecter pour publier un commentaire.
La configuration de façon
IPython a des profils de configuration, qui se trouve à
~/.ipython/profile_*
. Le profil par défaut est appeléprofile_default
. Dans ce dossier il y a deux fichiers de configuration:ipython_config.py
ipython_kernel_config.py
Ajouter la ligne option pour matplotlib pour
ipython_kernel_config.py
:matplotlib vs pylab
Utilisation de
%pylab
pour obtenir inline traçage est découragé.Il présente toutes sortes de crasse dans votre espace de noms que vous n'avez pas besoin.
%matplotlib
d'autre part permet insérée tracé sans injection de votre espace de noms. Vous aurez besoin de faire des appels explicites à obtenir matplotlib et numpy importés.Le petit prix de taper votre importations explicitement devrait être complètement bouleversé par le fait que vous avez maintenant reproductible code.
%matplotlib
ou si elle est définie à la fois le backend par défaut et automatiquement configurer pour l'utiliser immédiatement dans le iPython de l'environnement.matplotlib
vspylab
, iPython, il est très facile à exécuter automatiquement arbitraire de code python chaque fois que vous lancez à l'aide de Profils. Je crois qu'il est assez commun d'avoir un profil d'où vous automatiquement le font les importations commeimport numpy as np; import pandas as pd; import matplotlib.pyplot as plt
, etc. NB:pylab
est pas la même chose quepyplot
. Il doit m'ont pris un mois pour s'en rendre compte.ipython_kernel_config.py
, qui contient cette option. Faire un nouveau profil (ipython profile create test
) pour obtenir une valeur par défaut.c.InteractiveShellApp.matplotlib = "inline"
~/.jupyter/jupyter-notebook-config.py
? Est le nom de l'optionc.NotebookApp.matplotlib
c.InteractiveShellApp.matplotlib = "inline"
dans~/.jupyter/jupyter_notebook_config.py
. Mon objectif est de le faire fonctionner dans Jupyter les ordinateurs portables (uniquement) et de laisser shell IPython seul.%matplotlib
au démarrage de la même manière? Je suis actuellement en train de faireget_ipython().magic('matplotlib')
dans le startup.py fichier, ce qui semble être la mauvaise façon de le faire.Je pense que ce que vous voulez peut-être d'exécuter les opérations suivantes à partir de la ligne de commande:
Si vous n'aimez pas la tapant sur la ligne de commande à chaque fois que vous pouvez créer un alias pour le faire pour vous.
--matplotlib inline
et supprimer l' --pylab choses. Voir ce post d'un ipython devel pourquoi: carreau.github.io/posts/10-No-PyLab-Thanks.ipynb.htmlmatplotlib=inline
: Il va ralentir chaque noyau de vous lancer, peu importe si vous souhaitez utiliser matplotlib.--matplotlib
ou--pylab
sont ignorés.%pylab
ou%matplotlib
à la place.Le paramètre a été désactivé dans
Jupyter 5.X
et de plus élevé par l'ajout de code ci-dessousEt dans les versions précédentes, elle a fortement été un avertissement. Mais ce n'est pas un gros problème parce que Jupyter utilise des concepts de
kernels
et vous pouvez trouver noyau pour votre projet en exécutant la commande ci-dessousCela me donne le chemin vers le noyau de dossier. Maintenant, si j'ouvre le
/Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3/kernel.json
fichier, je vois quelque chose comme ci-dessousDe sorte que vous pouvez voir ce que l'exécution de la commande pour lancer le noyau. Donc, si vous exécutez la commande ci-dessous
Alors maintenant, si nous mettons à jour notre
kernel.json
fichier àEt si je lance
jupyter notebook
les graphiques sont automatiquementinline
Note le ci-dessous approche fonctionne toujours, lorsque vous créez un fichier sur le chemin d'accès ci-dessous
~/.ipython/profile_default/ipython_kernel_config.py
Mais l'inconvénient de cette approche est que c'est un impact global sur chaque environnement à l'aide de python. Vous pouvez considérer cela comme un avantage aussi, si vous voulez avoir un comportement commun à travers des environnements avec un seul changement.
Afin de choisir l'approche que vous souhaitez utiliser en fonction de vos besoins
Dans votre
ipython_config.py
fichier, recherchez les lignes suivanteset
et décommenter. Puis, changement
None
à l'arrière-plan que vous utilisez (j'utilise'qt4'
) et enregistrez le fichier. Redémarrez IPython, et matplotlib et pylab devrait être chargé - vous pouvez utiliser ledir()
commande pour vérifier quels sont les modules dans l'espace de noms global.Dans (l'actuelle), IPython 3.2.0 (Python 2 ou 3)
Ouvrir le fichier de configuration dans le dossier caché .ipython
ajouter la ligne suivante
l'ajouter directement après
Encore à @Kyle Kelley et @DGrady, ici, c'est l'entrée qui peut être trouvé dans la
$HOME/.ipython/profile_default/ipython_kernel_config.py
(ou selon le profil que vous avez créé)Changement
à
Ce sera ensuite travailler dans les deux ipython qtconsole et le cahier des séances.