zc.buildout中的IPython笔记本不使用egg路径

时间:2013-05-18 07:40:41

标签: ipython ipython-notebook

我用zc.buildout构建了一个包含IPython脚本的环境。

我的问题很简单:

  • 如果我在控制台中启动IPython,一切正常,我在sys.path中获取所有鸡蛋

  • 但如果我启动IPython笔记本,我只会获得默认的系统路径。

启动笔记本时有没有办法包括我的所有鸡蛋?

此致

亨利

1 个答案:

答案 0 :(得分:1)

所以,我想在笔记本电脑启动的某个地方进行分叉,这意味着sys.path将被重置,而buildout的技巧将无济于事。

我解决了以下问题,虽然它有点脏:

  1. 创建一个入口点,如下所示:

    setup(...
          entry_points = {
              'console_scripts': ['ipython = <yourpackage>.ipython:main']
          })
    
  2. 将以下内容放在/ipython.py中:

    from IPython.frontend.terminal.ipapp import launch_new_instance
    import os
    import sys
    
    def main():
        os.environ['PYTHONPATH']=':'.join(sys.path)
        sys.exit(launch_new_instance())
    
  3. 现在,运行bin/ipython notebook将为您提供所期望的sys.path。