2013-10-08 226 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開關)