Ripubblicare come risposta: i nomi sono effettivamente inseriti nello spazio dei nomi interattivi, ma i nomi definiti quando inizia Ipython sono nascosti %whos
, quindi dice che lo spazio dei nomi è vuoto, anche se non lo è. Se provi a usare i nomi, dovrebbero funzionare normalmente.
Aggiorna lo spazio dei nomi ipython quando si esegue lo script da comando
-
29-07-2022 - |
Domanda
In Ipython 0.10, è stato possibile eseguire uno script dalla riga di comando, quindi dalla modalità interattiva, ottenere immediatamente l'accesso ai nomi nello spazio dei nomi:
ipython -i some_script.py
%whos
tom
dick
jane
Ora sto usando Python 3.3.2 e Ipython 1.1.0. Da qualche parte lungo la linea, questo comportamento è cambiato. Ora ottengo:
ipython3 -i some_script.py
%whos
Interactive namespace empty
Ora devo iniziare ipython, quindi eseguire %lo script per conservare lo spazio dei nomi:
ipython3 -i
%run some_script.py
%whos
tom
dick
jane
Esiste un'opzione o una tecnica della riga di comando che mi darà il vecchio comportamento? ho provato
ipython3 -i -c "%run some_script.py"
Ma non funziona neanche questo.
Lo so, è una cosa pigra, ma avere un passo in meno accelera i giri di debug.
Soluzione
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow