IPython笔记本内核在zc.buildout设置中死掉

时间:2014-01-13 10:16:57

标签: python virtualenv ipython ipython-notebook buildout

我使用zc.buildout来构建我的python应用程序环境。我想运行IPython笔记本并使用我的自定义软件包进一步测试和开发。

[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。有用。

关于buildout&amp ;;的广泛使用IPython笔记本这一定是常见的情况。是否有任何扩建配方使其开箱即用?

1 个答案:

答案 0 :(得分:1)

根据笔记本启动中的this answer,进程被分叉并丢失由buildout准备的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)

更干净,而且大部分都有效。