包开发模式避免jupyter内核重启

时间:2017-12-20 09:07:28

标签: python python-3.x pip jupyter-notebook

我正在开发一个python包作为开发人员。包存储在git仓库中,我使用本地分支来调试/修复此包的功能。

为了测试我对代码所做的更正,我在编辑模式下使用pip使用Jupyter笔记本,以便将本地分支作为包加载,然后测试我修改的功能。

我运行的步骤如下:

  1. 以开发模式加载本地包
  2. 导入模块我想测试
  3. 进行测试
  4. 例如:

    ! pip install -e Path/To/Local/Package/ # step 1
    
    import local_foo as foo # step 2
    foo.print() # step 3
    

    在第3步之后,如果代码没有按预期运行,我会更正我的包,重新启动jupyter内核并重新运行前面的3个步骤,直到我得到我想要的行为。< / p>

    我的问题是:
    有没有办法避免重启内核?

    我尝试了以下操作,但在这种情况下不起作用:
    IPython autoreload

    %load_ext autoreload
    %autoreload 2
    

    importlib.reload

    import importlib
    importlib.reload(foo)
    

    我试过的解决方案来自这篇文章:
    https://support.enthought.com/hc/en-us/articles/204469240-Jupyter-IPython-After-editing-a-module-changes-are-not-effective-without-kernel-restart

    非常感谢!

    PS:此外,如果你们中的一些人可以分享使用Jupyter笔记本来管理python包开发的提示,工作流程或经验(测试,...)

0 个答案:

没有答案