Как я могу запустить ipython из оболочки, запустив 'python ...'? - PullRequest
15 голосов
/ 13 декабря 2011

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

Ответы [ 5 ]

34 голосов
/ 14 июля 2015

Чтобы запустить оболочку 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

6 голосов
/ 13 декабря 2011

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

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

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

3 голосов
/ 11 августа 2016

Может быть, вариант просто вставить ipython в ваш код следующим образом

def some_function():
    some code

    import IPython
    IPython.embed()

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

2 голосов
/ 13 декабря 2011

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

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

aix@aix:~$ alias python=ipython
aix@aix:~$ 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's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: 

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

1 голос
/ 23 декабря 2011

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

...