python - tablas - jupyter notebook tutorial español
Importe módulos automáticamente al ingresar el intérprete python o ipython (7)
Me encuentro escribiendo import numpy as np
casi cada vez que import numpy as np
el intérprete de Python. ¿Cómo configuro el intérprete python o ipython para que numpy se importe automáticamente?
Como mencionó en su answer , puede crear un perfil personalizado o modificar el perfil predeterminado. Esta respuesta es una vista rápida de los comandos de Linux necesarios para import numpy as np
automáticamente.
Si desea usar un perfil personalizado llamado numpy
, ejecute:
ipython profile create numpy
echo ''import numpy as np'' >> $(ipython locate profile numpy)/startup/00_imports.py
ipython --profile=numpy
O si desea modificar el perfil predeterminado para importar siempre numpy:
echo ''import numpy as np'' >> $(ipython locate profile default)/startup/00_imports.py
ipython
Consulte el tutorial de configuración de IPython para leer más a fondo sobre la configuración de perfiles. Consulte .ipython/profile_default/startup/README
para comprender cómo funciona el directorio de inicio.
Como una alternativa más simple a la respuesta aceptada, en Linux:
simplemente defina un alias, p. ej. ponga alias pynp=''python -i -c"import numpy as np"''
en su archivo ~ / .bash_aliases. A continuación, puede invocar python + numpy con pynp
, y aún puede usar solo python con python
. El comportamiento de las secuencias de comandos de Python no se modifica.
Mi invocación de ipython
predeterminada es
ipython --pylab --nosep --InteractiveShellApp.pylab_import_all=False
--pylab
ha sido una opción de ipython
por un tiempo. Importa numpy
y (partes de) matplotlib
. He agregado la opción --Inter...
para que no use *
import, ya que prefiero usar el np....
explícito np....
Esto puede ser un atajo, alias o script.
Para ipython, hay dos formas de lograr esto. Ambos implican el directorio de configuración de ipython que se encuentra en ~/.ipython
.
- Crea un perfil de ipython personalizado.
- O puede agregar un archivo de inicio a
~/.ipython/profile_default/startup/
Para simplificar, usaría la opción 2. Todo lo que tiene que hacer es colocar un archivo .py
o .ipy
en el directorio ~/.ipython/profile_default/startup
y se ejecutará automáticamente. Así que puedes colocar import numpy as np
en un archivo simple y tendrás np en el espacio de nombres de tu prompt de ipython.
La opción 2 realmente funcionará con un perfil personalizado, pero usar un perfil personalizado le permitirá cambiar los requisitos de inicio y otra configuración en función de un caso particular. Sin embargo, si siempre quisieras que np
estuviera disponible para ti, ponlo en el directorio de inicio.
Para obtener más información sobre la configuración de ipython. Los docs tienen una explicación mucho más completa.
Si bien la creación de una secuencia de comandos de inicio personalizada como suggests es la mejor respuesta general para la mayoría de los casos, no funcionará en circunstancias en las que desee utilizar una from __future__ import X
Si a veces trabaja en Python 2.x pero quiere usar la división moderna, solo hay una forma de hacerlo. Una vez que haya creado un perfil, edite el profile_default
(para Ubuntu, este se encuentra en ~/.ipython/profile_default
) y agregue algo como lo siguiente a la parte inferior:
c.InteractiveShellApp.exec_lines = [
''from __future__ import division, print_function'',
''import numpy as np'',
''import matplotlib.pyplot as plt'',
]
Utilice la variable de entorno PYTHONSTARTUP . De la documentación oficial:
Si este es el nombre de un archivo legible, los comandos de Python en ese archivo se ejecutan antes de que se muestre el primer mensaje en modo interactivo. El archivo se ejecuta en el mismo espacio de nombres donde se ejecutan los comandos interactivos para que los objetos definidos o importados en él se puedan usar sin calificación en la sesión interactiva.
Por lo tanto, solo cree un script de python con la declaración de importación y apúntele la variable de entorno. Una vez dicho esto, recuerde que "explícito siempre es mejor que implícito", por lo que no confíe en este comportamiento para las secuencias de comandos de producción.
Para Ipython, consulte this tutorial sobre cómo hacer un archivo ipython_config
Yo uso un archivo ~ / .startup.py como este:
# Ned''s .startup.py file
print("(.startup.py)")
import datetime, os, pprint, re, sys, time
print("(imported datetime, os, pprint, re, sys, time)")
pp = pprint.pprint
Luego, defina PYTHONSTARTUP = ~ / .startup.py, y Python lo usará al iniciar un shell.
Las instrucciones de impresión están allí, así que cuando inicio el shell, recibo un recordatorio de que está en vigencia y de lo que ya se importó. El atajo de pp
es muy útil ...