Repostando como respuesta: los nombres en realidad se colocan en su espacio de nombres interactivo, pero los nombres definidos cuando se inicia iPython se oculta de %whos
, entonces dice que el espacio de nombres está vacío, aunque no lo está. Si intenta usar los nombres, deberían funcionar normalmente.
Actualizar el espacio de nombres de Ipython al ejecutar script desde la línea de comandos
-
29-07-2022 - |
Pregunta
En Ipython 0.10, fue posible ejecutar un script desde la línea de comandos, luego desde el modo interactivo, obtener acceso inmediatamente a los nombres en el espacio de nombres:
ipython -i some_script.py
%whos
tom
dick
jane
Ahora estoy usando Python 3.3.2 y Ipython 1.1.0. En algún lugar a lo largo de la línea, este comportamiento cambió. Ahora obtengo:
ipython3 -i some_script.py
%whos
Interactive namespace empty
Ahora debo iniciar iPython, luego %ejecutar el script para que se conserve el espacio de nombres:
ipython3 -i
%run some_script.py
%whos
tom
dick
jane
¿Existe una opción o técnica de línea de comandos que me dé el viejo comportamiento? He intentado
ipython3 -i -c "%run some_script.py"
Pero eso tampoco funciona.
Lo sé, es algo perezoso, pero tener un paso menos acelera los giros de depuración.
Solución
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow