notebook - jupyter python 3
Inicie ipython ejecutando un script (7)
Mi caso de uso es que quiero inicializar algunas funciones en un archivo y luego iniciar ipython con esas funciones definidas. ¿Hay alguna manera de hacer algo como ipython --run_script = myscript.py?
Actualice la respuesta de @ Caleb para Python 3.5 en Ubuntu 14.04: Hice esta respuesta autocontenida copiando partes relevantes de la respuesta de @ Caleb.
Puede usar perfiles de ipython para definir scripts de inicio que se ejecutarán cada vez que inicie ipython. Una descripción completa de los perfiles, se da here . Puede crear múltiples perfiles con diferentes archivos de inicio.
Suponiendo que solo necesita un perfil, y siempre quiere los mismos archivos de inicio cada vez que inicie ipython, simplemente puede modificar el perfil predeterminado. Para hacer esto, primero averigüe dónde está el directorio de configuración de ipython en una sesión de ipython .:
Entrada:
import IPython
ipython_config_dir = IPython.paths.get_ipython_dir()
print(ipython_cofig_dir)
Salida:
/home/johndoe/.ipython
Para este ejemplo johndoe
es el nombre de usuario.
Dentro de la carpeta /.ipython
, default_profile está en el subdirectorio profile_default
. Ponga todos los scripts de inicio en profile_default / startup. En el ejemplo aquí, la ruta completa sería
/home/johndoe/.ipython/profile_default/startup
En las versiones recientes de ipython, necesita agregar la opción -i
para acceder al entorno interactivo más adelante. Sin el -i
solo ejecuta el código en myfile.py y vuelve al prompt.
$ ipython -i myfile.py
Hoy en día, puede usar la carpeta de inicio de ipython, que se encuentra en su directorio de inicio (C: / users / [username] /. Ipython en Windows). Vaya al perfil predeterminado y verá una carpeta de inicio con un archivo README. Simplemente coloque los scripts de Python allí o, si desea los comandos de ipython, colóquelos en un archivo con extensión .ipy.
Lo siguiente es para el caso en que desee que sus scripts de inicio se ejecuten automáticamente cada vez que use ipython (en lugar de tener un script que debe especificar cada vez que ejecuta ipython).
Para las versiones recientes (es decir, 5.1.0) de ipython, coloque uno o más scripts de Python que desee haber ejecutado en la IPYTHON_CONFIG_DIR/profile_PROFILENAME/startup
.
En Linux, por ejemplo, puede poner su código de inicio de Python en un archivo llamado ~/.ipython/profile_default/startup/10-mystartupstuff.py
si desea que se ejecute cuando no se especifique ningún perfil de ipython.
La información sobre cómo crear y usar perfiles de ipython está disponible here .
Parece que estás buscando el comando% run magic de ipyhton.
Al escribir en ipython:
%run hello_world.py
ejecutará el programa hello.py guardado en su directorio de inicio. Las funciones y variables definidas en ese script también serán accesibles para usted.
Puede usar perfiles de ipython para definir scripts de inicio que se ejecutarán cada vez que inicie ipython. Una descripción completa de los perfiles, se da here . Puede crear múltiples perfiles con diferentes archivos de inicio.
Suponiendo que solo necesita un perfil, y siempre quiere los mismos archivos de inicio cada vez que inicie ipython, simplemente puede modificar el perfil predeterminado. Para hacer esto, primero averigüe dónde está el directorio de configuración de ipython en una sesión de ipython .:
In [1]: import IPython
In [2]: IPython.paths.get_ipython_dir() # As of IPython v4.0
In [3]: print(ipython_config_dir)
/home/johndoe/.config/ipython
Para este ejemplo, estoy usando Ubuntu Linux, y el directorio config está en /home/johndoe/.config/ipython
, donde johndoe
es el nombre de usuario.
Default_profile está en el subdirectorio profile_default
. Ponga todos los scripts de inicio en profile_default/startup
. En el ejemplo aquí, la ruta completa sería /home/johndoe/.config/ipython/profile_default/startup
.
Según los documentos , es trivial:
Usted inicia IPython con el comando:
$ ipython [options] files
Si se invoca sin opciones, ejecuta todos los archivos enumerados en secuencia y lo deja caer en el intérprete sin dejar de reconocer las opciones que haya configurado en su archivo
ipythonrc
. Este comportamiento es diferente del Python estándar, que cuando se llamapython -i
solo ejecutará un archivo e ignorará la configuración.
Entonces, solo use ipython myfile.py
... ¡y ahí está! -)