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.
Atualize o namespace ipython ao executar o script da linha de comando
-
29-07-2022 - |
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.
Solução
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow