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.

È stato utile?

Soluzione

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top