En ciertas ocasiones puede ser necesario modificar alguna variable de entorno para poder ejecutar cierto código en un Notebook. Cuando el cambio debe ser permanente este se puede hacer en la Configuración avanzada del sistema en Windows o en los archivos de configuración del Shell en UNIX. Por otro lado, para cambios temporales se puede hacer en la terminal, pero esto obliga a reiniciar Jupyter. Además, de este modo los cambios se tienen que volver a configurar cada vez que se desee volver a ejecutar el Notebook en cuestión. En estas situaciones se puede recurrir a los comandos mágicos para modificar las variables de entorno desde Jupyter.
El comando mágico %env
IPython cuenta con el comando mágico %env
con el que se pueden listar, consultar o modificar las variables de entorno. Comando que se puede emplear en los Notebooks.
El uso básico del comando, sin parámetros, devuelve un listado con todas las variables de entorno y sus valores. Así para saber cuál es la configuración activa solamente se tiene que escribir en una celda %env
y ejecutarla.
Por otro lado, para saber el valor de una única variable de entorno se ha de pasar el nombre de esta como único parámetro del comando. Por ejemplo, para consultar el backend que está utilizando Matplotlib solamente se tendría que ejecutar %env MPLBACKEND
.
Finalmente, para asignar un nuevo valor a esta una variable de entorno se debe escribir el comando, seguido de la variable y el valor, separado por con un espacio o el comando de asignación. Así, para asignar el backend qtagg
solamente se tendría que ejecutar en una celda %env MPLBACKEND qtagg
o alternativamente %env MPLBACKEND=qtagg
.
Alcance de los cambios
Los cambios en las variables de entorno que se realicen mediante este método solamente surtirán efecto en el propio Notebook, sin afectar a otros programas. Por lo que es un método ideal para cambiar puntualmente el comportamiento del código.
Conclusiones
Hoy se ha visto un método para cambiar las variables de entorno desde Jupyter con el que se puede solucionar problemas puntuales. Un método que además consigue que los cambios queden documentados en el propio Notebook.