嵌入式IPython中的自动完成功能

时间:2016-12-12 18:56:43

标签: python autocomplete ipython interactive-shell

我使用InteractiveShellEmbed中的IPython.terminal.embed在我的应用中嵌入了IPython。所有工作都很严格,但自动完成不适用于模块。例如:import rand[TAB]并未完成import random。 我该怎么做才能解决这个问题?

我的代码:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

def main():

    from IPython.terminal.embed import InteractiveShellEmbed

    ipshell = InteractiveShellEmbed(banner1 = 'Loading\n',
                                    exit_msg = 'Leaving')


    ipshell('Hit Ctrl-D to exit interpreter.\n')

if __name__ == "__main__":
    main()

1 个答案:

答案 0 :(得分:0)

对于使用python 2.7.6的iPython 5.1.0,自动完成功能似乎对我有用。您使用的是什么版本的iPython?如果您只是使用来自IPython import embed'的问题,您是否会遇到同样的问题?然后打电话给'embed()'在你的应用程序中你想要的地方?

---更新:

尝试制作一个显式实例:

ipshell = InteractiveShellEmbed.instance()