我使用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()
答案 0 :(得分:0)
对于使用python 2.7.6的iPython 5.1.0,自动完成功能似乎对我有用。您使用的是什么版本的iPython?如果您只是使用来自IPython import embed'的问题,您是否会遇到同样的问题?然后打电话给'embed()'在你的应用程序中你想要的地方?
---更新:
尝试制作一个显式实例:
ipshell = InteractiveShellEmbed.instance()