2014-01-22 2 views
6

У меня есть ipython с qtconsole и может запустить его через ipython qtconsole. Я также могу запустить скрипт через ipython -i my_script.py, чтобы оставаться в интерактивном интерпретаторе после завершения сценария или если выбрано исключение. Но я не мог понять, как их объединить: я хотел бы сделать ipython -i qtconsole my_script.py, но что бы я ни пытался, он жалуется на недопустимые флаги. Любой намек, как это сделать?Запустите ipython qtconsole в качестве интерактивного интерпретатора после выполнения сценария

ответ

5

Интересно, кажется, что этот вариант был забыт или не нужен в qtconsole. Способ вокруг этого (или, возможно, намеченного пути?) Заключается в использовании флага -m. Это запускает модуль как сценарий, так что вы, если вы под названием:

ipython qtconsole -m my_script 

он будет работать код в my_script, для меня это работает. Обратите внимание, что это должно быть my_script не my_script.py иначе он выкинет ошибку, так как ищет модуль, а не файл. Надеюсь, это поможет.

+0

Работает для меня с и без конца, но дает окончательный отказ в конце в случае использования окончания – embert

+1

Это потому, что флаг '-m' ищет модуль. Поэтому он выглядит в текущем каталоге для файла с именем 'my_scipy.py', если вы вызываете его с помощью' -m my_script.py', тогда он будет искать 'my_script.py.py'. Более подробную информацию о модулях импорта и написании собственных можно найти здесь (http://docs.python.org/2/tutorial/modules.html). – Greg

+0

Существующая строка не работает для меня, поэтому я добавил обновление. – philshem