Terminal de IPython#

La Terminal IPython te permite ejecutar comandos e interactuar con datos dentro de los intérpretes IPython.

Spyder IPython Console with code, inline plots, and the In prompt

Para lanzar una nueva instancia de IPython, vaya a Nueva terminal (configuración por defecto) en el menú Terminales, o usa el atajo de teclado Ctrl-T (Cmd-T en macOS) cuando la consola está focalizada.

Spyder showing opening a new Ipython Console

Desde el mismo menú, puedes dejar de ejecutar código con el Interrumpir el núcleo, limpia el namespace de una consola con Eliminar todas las variables, o relanza una nueva con Reiniciar el núcleo. Como cada consola se ejecuta en un proceso separado, esto no afectará a ningún otro que hayas abierto, y podrás probar fácilmente tu código en un entorno limpio sin interrumpir tu sesión principal.

Funciones disponibles#

Cualquier Terminal de IPython, ya sea externa o iniciada por Spyder, soporta:

  • Completado automático de código

  • Información sobre la función en tiempo real

  • Integración GUI completa con el depurador mejorado de Spyder.

  • El Explorador de variables, con editores gráficos para muchos objetos de Python incorporados y de terceros.

  • Visualización de gráficos de Matplotlib en el panel de Gráficos de Spyder, si se selecciona el backend En línea en Preferencias ‣ Terminal de IPython ‣ Gráficas ‣ Salida gráfica, y en línea en la consola si la opción Silenciar los gráficos en línea no está marcada en el menú de opciones del panel de Gráficos.

Spyder IPython Console, with a popup list of code completion guesses

Para obtener información sobre las características, comandos y capacidades incorporadas en IPython mismo, vea la IPython documentation.

Consolas especiales#

Spyder también soporta varios tipos de consolas especializadas. Una Sympy console permite crear y mostrar expresiones matemáticas simbólicas dentro de Spyder. Una Cython console te permite usar el lenguaje de Cython para acelerar tu código y llamar a funciones C directamente desde Python. Finalmente, una Pylab console carga las funciones comunes Numpy y Matplotlib por defecto; mientras que esto está obsoleto y fuertemente desaconsejado para el nuevo código, todavía puede ser usado si es necesario para scripts heredados que lo necesiten.

Spyder showing opening a new special Console

Menú de opciones#

El menú de opciones te permite inspeccionar tus variables de entorno actuales (Mostrar las variables de entorno), y los contenidos de su sistema PATH (Contenidos del sys.path). Además, puedes tener que cada consola muestre cuánto tiempo ha estado funcionando con Mostrar el tiempo transcurrido.

Spyder IPython Console with options menu

También puedes cambiar el nombre de la pestaña IPython console con la opción Renombrar la pestaña, o simplemente haciendo doble clic en ella.

Spyder IPython Console showing renaming console

Usar núcleos externos#

Puedes conectarte a los núcleos externos locales y remotos (incluidos los administrados por Jupyter Notebook o QtConsole) a través del diálogo Conectarse a un núcleo existente bajo el menú de Terminales. Para que esta característica funcione, una versión compatible del paquete spyder-kernels debe ser instalado en el entorno o máquina en la que el núcleo externo está corriendo.

Connect to external kernel dialog of the Spyder IPython console

Conectar a un núcleo local#

Para conectarse a un núcleo local que ya se está ejecutando (por ejemplo, uno iniciado por Jupyter notebook):

  1. Ejecuta %connect_info en el notebook o la consola a la que quieres conectarte, y copia el nombre de su archivo de conexión al núcleo, que se muestra después de jupyter <app> --existing.

    Running connect_info in a Jupyter notebook
  2. En Spyder, haz clic en Conectarse a un núcleo existente desde el menú Terminales, y pega el nombre del Archivo de conexión del paso anterior.

    Por conveniencia, los números de ID del núcleo (por ejemplo 1234) ingresados en el campo de ruta del archivo de conexión se ampliarán a la ruta completa del archivo, por ejemplo jupyter/runtime/dir/path/kernal-id.json.

    Copying the connection filename into Spyder's dialog
  3. Haz clic en OK para conectarte al núcleo.

    Connecting to the kernel and running basic commands.

Conectar a un núcleo remoto#

Para conectarse a un núcleo en una máquina remota:

  1. Inicia un núcleo Spyder en el host remoto, si aún no se está ejecutando, con python -m spyder_kernels.console.

    Staring a Spyder kernel on a remote machine
  2. Copia el archivo de conexión del núcleo (jupyter/runtime/dir/path/kernel-pid.json) a la máquina en la que estás ejecutando Spyder.

    Puedes obtener jupyter/runtime/dir/path ejecutando jupyter --runtime-dir en el mismo entorno de Python que el kernel. Generalmente, el archivo de conexión que estás buscando será uno de los más recientes en este directorio, correspondiente a la hora en que inició el núcleo externo.

    Using SCP to copy the connection file to the local machine
  3. Haz clic en Conectarse a un núcleo existente desde el menú Terminales, y busca o ingresa la ruta al archivo de conexión desde el paso anterior.

    Por conveniencia, los números de ID del núcleo (por ejemplo, 1234) introducidos en el campo de ruta del archivo de conexión se expandirán a jupyter/runtime/dir/path/kernal-id.json en tu máquina local, si has copiado el archivo de conexión allí.

    Opening the connect to kernel dialog and browsing for the path
  4. Marca la casilla Este es un núcleo remoto (via SSH) e ingresa el Servidor o dirección IP, nombre de usuario y puerto al cual conectarse en la máquina remota. Luego, ingresa la contraseña de nombre de usuario en la máquina remota, o selecciona un archivo de clave SSH registrado en la máquina remota, normalmente ubicado en el directorio .ssh en tu carpeta de inicio en la máquina local y llamado a menudo id_rsa. Si marcas Guardar ajustes de conexión, estos detalles serán recordados y rellenados automáticamente la próxima vez que abras el diálogo.

    Ten en cuenta que Puerto es el número de puerto en tu máquina remota en el que el daemon SSH (sshd) está escuchando, típicamente 22 a menos que tú o tu administrador lo hayan configurado de otra manera.

    Entering pre-filled SSH details into the connection dialog
  5. Haz clic en OK para conectarte al núcleo

    Connecting to the remote kernel and running basic commands

Para obtener más detalles técnicos sobre la conexión a los núcleos remotos, consulta la página Connecting to a remote kernel en el libro de Cookbook IPython.

Recargar módulos modificados#

Al trabajar en una sesión interactiva, Python sólo carga un módulo desde su archivo fuente una vez, cuando se importa por primera vez.

El Recargador de Módulos de usuario (RMU) de Spyder recarga automáticamente módulos en las consolas de IPython existentes siempre que sean modificadas y reimportadas. Con la RMU activada, puedes probar los cambios en tu código sin reiniciar el núcleo.

Spyder showing reloading modules in console

RMU está activado por defecto, y te proporcionará un mensaje en rojo Módulos recargados: en la consola listando los archivos que se han actualizado cuando está activado. Si lo deseas, puedes activarlo o desactivarlo y evitar que se recargen módulos específicos, bajo Preferencias ‣ intérprete de Python ‣ Recargador de Módulos de Usuario (RMU).

Spyder preferences showing option to use module reloader