2014-01-13 35 views
1

我使用zc.buildout來構建我的python應用程序環境。我想運行IPython筆記本並使用我的自定義程序包進一步測試和開發。IPython筆記本內核死於zc.buildout設置

[buildout] 
extends = buildout.cfg 

parts += 
    ipython_part 

[versions] 
ipython = 0.13.2 
pyzmq = 13.0.2 


[ipython_part] 
#http://ipython.org/ipython-doc/stable/install/install.html#dependencies-for-the-ipython-html-notebook 
#https://github.com/bearstech/ipython_notebook/blob/master/buildout.cfg 
recipe = zc.recipe.egg 
dependent-scripts = true 
eggs = 
     ipython[zmq,notebook,test] 
     ${myapplication:eggs} 

啓動筆記本的工作,但只要我創建一個新的筆記本內核死亡。

[NotebookApp] Kernel started: c7c64caf-c966-4863-b37d-11cf11901882 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
ImportError: No module named IPython.zmq.ipkernel 

在virtualenv中運行IPython就像一個魅力。我的問題與建立設置有關。我知道這answer。有用。

關於廣泛使用的擴建& IPython筆記本這一定是常見的情況。是否有任何擴展配方使其可以即裝即用?

回答

1

根據筆記本啓動時的this answer,一個進程分叉並丟失了通過構建準備的sys.path。同樣的解決方案也適用於您的案例。

編輯:我上增加一個初始化的關鍵字我的「發展」良方解決:

[development] 
recipe = zc.recipe.egg 
eggs = ipython[all] 
# ugly work-around needed for ipython nootbook 
initialization = 
    import sys, os 
    os.environ['PYTHONPATH'] = ':'.join(sys.path) 

更清潔,它主要工作。

+0

感謝您回答我的老問題。你有沒有注意到在我的問題中,我已經提到了你推薦的答案? –

+0

對不起,由於我的疏忽,我用現在使用的解決方法更新了答案。 – alexamici

+0

太棒了。我知道這可以通過增加功能來完成。謝謝。 –