Me encuentro escribiendo import numpy as np
casi cada vez que enciendo el intérprete de Python. ¿Cómo configuro el intérprete de python o ipython para que numpy se importe automáticamente?
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 indicador 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.
Entonces, simplemente cree una secuencia de comandos de Python con la declaración de importación y apunte la variable de entorno hacia ella. Habiendo dicho eso, recuerde que 'Explícito siempre es mejor que implícito', así que no confíe en este comportamiento para los scripts de producción.
Para Ipython, consulte este tutorial sobre cómo crear un archivo ipython_config
env PYTHONSTARTUP="~/.startup.py"
no funcionó para míexport PYTHONSTARTUP=~/.python_shell_startup.py
para configurar la variable.Para ipython, hay dos formas de lograrlo. Ambos involucran el directorio de configuración de ipython que se encuentra en
~/.ipython
.~/.ipython/profile_default/startup/
Por simplicidad, usaría la opción 2. Todo lo que tiene que hacer es colocar un archivo
.py
o.ipy
en el~/.ipython/profile_default/startup
directorio y se ejecutará automáticamente. Entonces, podría colocarloimport numpy as np
en un archivo simple y tendrá np en el espacio de nombres de su indicador de ipython.La opción 2 realmente funcionará con un perfil personalizado, pero el uso de un perfil personalizado le permitirá cambiar los requisitos de inicio y otra configuración según un caso particular. Sin embargo, si siempre desea
np
estar disponible para usted, colóquelo en el directorio de inicio.Para obtener más información sobre la configuración de ipython. Los documentos tienen una explicación mucho más completa.
fuente
~/.config/ipython/profile_default/startup/
y no~/.ipython/profile_default/startup/
Yo uso un archivo ~ / .startup.py como este:
Luego defina PYTHONSTARTUP = ~ / .startup.py, y Python lo usará al iniciar un shell.
Las declaraciones de impresión están ahí, así que cuando inicio el shell, recibo un recordatorio de que está en vigor y de lo que ya se ha importado. El
pp
atajo también es muy útil ...fuente
~
como sustituto de$HOME
, pero en lugar de esta ruta relativa tuve que usar una ruta absoluta en MacOS, fish y python3.Si bien crear un script de inicio personalizado como sugiere ravenac95 es la mejor respuesta general para la mayoría de los casos, no funcionará en circunstancias en las que desee utilizar un archivo . Si a veces trabaja en Python 2.x pero desea utilizar la división moderna, solo hay una forma de hacerlo. Una vez que cree un perfil, edite el (Para Ubuntu, esto se encuentra en ) y agregue algo como lo siguiente en la parte inferior:
from __future__ import X
profile_default
~/.ipython/profile_default
fuente
Como una alternativa más simple a la respuesta aceptada, en linux:
simplemente defina un alias, por ejemplo, póngalo
alias pynp='python -i -c"import numpy as np"'
en su archivo ~ / .bash_aliases. Luego puede invocar python + numpy conpynp
, y aún puede usar solo python conpython
. El comportamiento de los scripts de Python no se modifica.fuente
PYTHONSTARTUP
solo se invoca en modo interactivo , por lo que el comportamiento de los scripts de Python se mantiene intacto de todos modos. También se podría crear un alias con una referencia de archivo:alias pynp='PYTHONSTARTUP="~/.startup.py" python'
Puede crear una secuencia de comandos de Python normal como
import_numpy.py
o lo que quieraluego ejecútalo con la
-i
bandera.python -i import_numpy.py
Una forma como esta le dará flexibilidad para elegir solo los módulos que desee para diferentes proyectos.
fuente
Como mencionó ravenac95 en su respuesta , 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 utilizar un perfil personalizado llamado
numpy
, ejecute:O si desea modificar el perfil predeterminado para importar siempre numpy:
Consulte el tutorial de configuración de IPython para leer más en profundidad sobre la configuración de perfiles. Consulte
.ipython/profile_default/startup/README
para comprender cómo funciona el directorio de inicio.fuente
Mi
ipython
invocación predeterminada es--pylab
ha sido unaipython
opción desde hace algún tiempo. Importanumpy
y (partes de)matplotlib
. Agregué la--Inter...
opción para que no use la*
importación, ya que prefiero usar la explícitanp....
.Puede ser un acceso directo, un alias o un script.
fuente