2013-10-08 164 views
3

我认为可以在Python程序中嵌入IPython实例,并通过控制台/笔记本电脑/ qt控制台“连接”它们。我尝试了IPython文档,但没有得到它。在Python程序中启动IPython,使用IPython笔记本连接

我想在“常规”Python程序中启动IPython,让它访问程序的名称空间,连接IPython笔记本,并在关闭/退出笔记本后继续执行Python程序。

dataframe = run_some_program_get_data() 

# start IPython with access to 'dataframe' 

# continue program with dataframe 
dataframe.to_csv('file.txt') 

如何在普通Python程序中启动IPython内核?我该如何设置IPython笔记本应该连接哪个内核?

+0

尝试使用ipdb,只需在需要与ipdb.set_trace() – Denis

+0

脚本进行交互式访问的位置设置跟踪点我会研究它。实现我所描述的并不是一种简单的方法,对吧?我GOOGLE了很多,没有得到任何地方。 –

+0

但看起来很像,反正我不知道如何用ipython笔记本帮你,对不起。 – Denis

回答

0

我使用Anaconda 2.0.1运行最新的IPython 2.1。

有一些directions on this page可帮助您设置IPython实例以用于托管目的。这里是如何调整这个在本地运行。

运行 “ipython profile create nbserver” 在终端/命令提示

在刚创建的配置文件目录,(通常〜/ .ipython/profile_nbserver)编辑文件ipython_notebook_config.py。默认情况下,该文件具有所有字段注释;最低设置您需要取消注释并编辑如下:

c = get_config() 

# Kernel config 
c.IPKernelApp.pylab = 'inline' # if you want plotting support always 

# Notebook config 
c.NotebookApp.ip = '*'    #or keep it 'localhost' 
c.NotebookApp.open_browser = False 
# It is a good idea to put it on a known, fixed port 
c.NotebookApp.port = 9999 

然后打开2个端子/ command_prompts这样你就可以检查是否正常工作。在第一种类型(不要把在任一线路的下划线)

ipython console -i --profile nbserver 

然后在该窗口a = 1

和第二

ipython console -i --profile nbserver --existing 

类型print(a)

和是的...你可以用“笔记本电脑”或“qtconsole”替换“console”一词 (bu t为qt控制台取出-i开关)