我可以在嵌入式交互式Python控制台中使用IPython吗?

时间:2009-01-31 22:29:21

标签: python console

我使用以下代码段放入Python shell中间程序。这很好,但我只得到标准控制台。有没有办法做同样但使用IPython shell?

import code

class EmbeddedConsole(code.InteractiveConsole):
    def start(self):
        try:
                self.interact("Debug console starting...")
        except:
                print("Debug console closing...")

def print_names():
    print(adam)
    print(bob)

adam = "I am Adam"
bob = "I am Bob"

print_names()
console = EmbeddedConsole(locals())
console.start()
print_names()

2 个答案:

答案 0 :(得分:13)

f3lix的答案似乎不再有效,但我能够找到这个:

在python脚本的顶部:

from IPython import embed

您想要启动控制台的任何地方:

embed()

答案 1 :(得分:2)

Embedding IPython可能对你有用。

在您的应用中运行IPython的最小代码:

from IPython.Shell import IPShellEmbed
ipshell = IPShellEmbed()
ipshell() # this call anywhere in your program will start IPython