Обновить пространство имен ipython при запуске сценария из командной строки

StackOverflow https://stackoverflow.com/questions/19842776

Вопрос

В iPython 0.10 можно было запустить сценарий из командной строки, затем из интерактивного режима, немедленно получить доступ к именам в пространстве имен:

ipython -i some_script.py

%whos
    tom
    dick
    jane

Сейчас я использую Python 3.3.2 и Ipython 1.1.0. Где -то вдоль линии это поведение изменилось. Теперь я получаю:

ipython3 -i some_script.py

%whos
    Interactive namespace empty

Теперь я должен запустить ipython, затем %запустить сценарий, чтобы сохранить пространство имен:

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

Есть ли вариант командной строки или техника, которая даст мне старое поведение? я пытался

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

Но это тоже не работает.

Я знаю, это ленивая вещь, но на одном шаге ускоряется вращение отладки.

Это было полезно?

Решение

Репостирование в качестве ответа: имена фактически помещаются в ваше интерактивное пространство имен, но имена определяются, когда начинается iPython, скрыты от %whos, Таким образом, это говорит о том, что пространство имен пустое, хотя это не так. Если вы попробуете использовать имена, они должны работать нормально.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top