在Python shell中使用IPython,如`code.interact()`

21 投票
3 回答
2223 浏览
提问于 2025-04-16 02:25

有没有办法在一个已经打开的Python环境里使用IPython环境,就像在一个壳里再放一个壳,类似于内置的code.interact()功能?

3 个回答

1

Django 的 manage.py shell 命令会尽量调用一个叫做 IPython 的交互式命令行工具,如果可以的话。它的实现方式是这样的:

import IPython

shell = IPython.Shell.IPShell()
shell.mainloop()
23

IPython 0.11版本中,接口进行了大幅改进,现在调用这个命令行工具变得更加简单了:

import IPython

IPython.embed()
3

嵌入IPython的推荐方法运行得很好:

~ $ python
Python 2.7 [...]
>>> from IPython.Shell import IPShellEmbed
>>> ipshell = IPShellEmbed()
>>> ipshell()

In [1]: 

撰写回答