Cada vez que ejecuto IPython Notebook, el primer comando que ejecuto es
%matplotlib inline
¿Hay alguna forma de cambiar mi archivo de configuración para que cuando inicie IPython, esté automáticamente en este modo?
Cada vez que ejecuto IPython Notebook, el primer comando que ejecuto es
%matplotlib inline
¿Hay alguna forma de cambiar mi archivo de configuración para que cuando inicie IPython, esté automáticamente en este modo?
ipython --matplotlib
es mejorRespuestas:
La forma de configuración
IPython tiene perfiles para la configuración, ubicados en
~/.ipython/profile_*
. Se llama al perfil predeterminadoprofile_default
. Dentro de esta carpeta hay dos archivos de configuración principales:ipython_config.py
ipython_kernel_config.py
Agregue la opción en línea para matplotlib a
ipython_kernel_config.py
:matplotlib frente a pylab
%pylab
Se desaconseja el uso de para obtener un trazado en línea .Introduce todo tipo de suciedad en su espacio de nombres que simplemente no necesita.
%matplotlib
por otro lado, permite el trazado en línea sin inyectar su espacio de nombres. Deberá hacer llamadas explícitas para obtener matplotlib y numpy importados.El pequeño precio de escribir sus importaciones explícitamente debería superarse por completo por el hecho de que ahora tiene un código reproducible.
fuente
%matplotlib
o si ambos configuraban el backend predeterminado y lo configuraban automáticamente para su uso inmediato en el Entorno iPython.matplotlib
vspylab
, iPython hace que sea muy fácil ejecutar automáticamente código arbitrario de Python cada vez que inicie usando Perfiles. Creo que es bastante común tener un perfil donde automáticamente haces importaciones comunes comoimport numpy as np; import pandas as pd; import matplotlib.pyplot as plt
, etc. NB: nopylab
es lo mismo quepyplot
. Me debe haber tomado un mes darme cuenta de eso.ipython_kernel_config.py
, que contiene esta opción. Cree un nuevo perfil (ipython profile create test
) para obtener un perfil predeterminado.c.InteractiveShellApp.matplotlib = "inline"
Creo que lo que desea podría ser ejecutar lo siguiente desde la línea de comando:
Si no le gusta escribirlo en la línea cmd cada vez, puede crear un alias para hacerlo por usted.
fuente
--matplotlib inline
y elimine el elemento --pylab. Vea esta publicación de un desarrollo de ipython por qué: carreau.github.io/posts/10-No-PyLab-Thanks.ipynb.htmlmatplotlib=inline
: Ralentizará cada kernel que inicie, independientemente de si desea usar matplotlib.--matplotlib
o--pylab
se ignoran.%pylab
o en su%matplotlib
lugar.La configuración se deshabilitó en
Jupyter 5.X
y superior agregando el siguiente códigoY en versiones anteriores ha sido principalmente una advertencia. Pero este no es un gran problema porque Jupyter usa conceptos de
kernels
y puede encontrar el kernel para su proyecto ejecutando el siguiente comandoEsto me da la ruta a la carpeta del kernel. Ahora si abro el
/Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3/kernel.json
archivo, veo algo como a continuaciónEntonces puede ver qué comando se ejecuta para iniciar el kernel. Entonces, si ejecuta el siguiente comando
Así que ahora, si actualizamos nuestro
kernel.json
archivo aY si ejecuto
jupyter notebook
los gráficos seinline
Tenga en cuenta que el enfoque a continuación también funciona, donde crea un archivo en la ruta a continuación
~ / .ipython / profile_default / ipython_kernel_config.py
Pero la desventaja de este enfoque es que se trata de un impacto global en todos los entornos que utilizan Python. También puede considerarlo como una ventaja si desea tener un comportamiento común en todos los entornos con un solo cambio.
Así que elija el enfoque que le gustaría utilizar en función de sus necesidades.
fuente
En su
ipython_config.py
archivo, busque las siguientes líneasy
y descomentarlos. Luego, cambie
None
al backend que está usando (yo uso'qt4'
) y guarde el archivo. Reinicie IPython y se deben cargar matplotlib y pylab; puede usar eldir()
comando para verificar qué módulos están en el espacio de nombres global.fuente
En (el actual) IPython 3.2.0 (Python 2 o 3)
Abra el archivo de configuración dentro de la carpeta oculta .ipython
agregue la siguiente línea
agrégalo inmediatamente después
fuente
Además de @Kyle Kelley y @DGrady, aquí está la entrada que se puede encontrar en el
$HOME/.ipython/profile_default/ipython_kernel_config.py
(o el perfil que haya creado)Cambio
a
Esto luego funcionará tanto en ipython qtconsole como en sesiones de notebook.
fuente
Cree cualquier
.py
archivo que~/.ipython/profile_default/startup/
contengafuente