Pergunta

No ipython 0.10, foi possível executar um script da linha de comando e, no modo interativo, obter imediatamente o acesso aos nomes no espaço para nome:

ipython -i some_script.py

%whos
    tom
    dick
    jane

Agora estou usando o Python 3.3.2 e o ipython 1.1.0. Em algum lugar ao longo da linha, esse comportamento mudou. Agora eu recebo:

ipython3 -i some_script.py

%whos
    Interactive namespace empty

Agora devo iniciar o ipython, então %executar o script para ter o espaço para nome preservado:

ipython3 -i
%run some_script.py
%whos
    tom
    dick
    jane

Existe uma opção ou técnica de linha de comando que me dará o comportamento antigo? eu tentei

ipython3 -i -c "%run some_script.py"

Mas isso também não funciona.

Eu sei, é uma coisa preguiçosa, mas ter menos um passo acelera a depuração de depuração.

Foi útil?

Solução

Repositando como uma resposta: os nomes são realmente colocados em seu espaço de nome interativo, mas os nomes definidos quando o ipython inicia são ocultos de %whos, então diz que o espaço para nome está vazio, mesmo que não seja. Se você tentar usar os nomes, eles devem funcionar normalmente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top