Как запустить ipython из оболочки, запустив "python..."?

Я хотел бы добавить некоторые параметры командной строки в код запуска python, чтобы фактически вызвать оболочку ipython. Как мне это сделать?

Ответ 1

Чтобы запустить оболочку IPython непосредственно в Python:

from IPython import embed

a = "I will be accessible in IPython shell!"

embed()

Или просто запустить его из командной строки:

$ python -c "from IPython import embed; embed()"

embed будет использовать все локальные переменные внутри оболочки.

Если вы хотите предоставить пользовательские локали (переменные, доступные в оболочке), посмотрите на IPython.terminal.embed.InteractiveShellEmbed

Ответ 2

Чтобы выполнить именно то, что вы просили, т.е. добавить параметры командной строки в вызов python для фактического вызова IPython, вы можете сделать это:

python -c 'import subprocess; subprocess.call("ipython")'

Я не могу себе представить, какие бы обстоятельства ни были полезны.

Ответ 3

Может быть, вариант - просто вставить ipython в свой код, как это

def some_function():
    some code

    import IPython
    IPython.embed()

Когда вы запустите функцию в некотором коде, она запустится и терминал ipython, область действия которой является функцией, из которой она была вызвана.

Ответ 4

Не совсем понятно, что вы подразумеваете под "кодом запуска python"; Я предполагаю, что это относится к коду оболочки, который вы используете для запуска Python.

В Unix вы можете использовать alias чтобы заменить одну команду на другую:

[email protected]:~$ alias python=ipython
[email protected]:~$ python
Enthought Python Distribution -- http://www.enthought.com

Python 2.7.1 |EPD 7.0-2 (64-bit)| (r271:86832, Nov 29 2010, 13:51:37) 
Type "copyright", "credits" or "license" for more information.

IPython 0.10.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython features.
%quickref -> Quick reference.
help      -> Python own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: 

Если это не то, что вы хотите, уточните свой вопрос.

Ответ 5

Я думаю, вы имеете в виду что-то вроде python C:\Python27\Scripts\ipython-script.py