jupyter 重新导入模块

本文介绍如何在Jupyter中解决代码修改后无法立即生效的问题,提供三种解决方案:重启Jupyter、使用`importlib.reload()`或 `%autoreload`魔法命令。详细讲解了`%autoreload`的使用方法,包括`%autoreload 1`按需重载和`%autoreload 2`自动重载所有模块的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用jupyter实际开发过程中,尤其是针对自定义的模块,往往需要多次调试修改,因此需要多次导入。但是jupyter默认不覆盖导入。针对这个问题,可以通过jupyter的魔法命令实现。博客jupyter notebook 每次运行自动重新导入模块讲解说明的非常清楚了。在此转载一下,感谢!


使用jupyter不方便的一个地方就是,每次只在当前运行时环境运行代码。
比如第一次导入了test_module.py中的某个函数test_func(),在运行的时候发现test_func()需要做一些改动,才能用。于是做了修改,然后重新 运行jupyter中对应的cell,你会发现,你在test_module.py中做的修改没有被导入。

解决办法共有三种:

  1. 重启Jupyger
  2. 重新载入需要的模块
    比如我的test_module模块,在cell中使用一下代码:
    import importlib
    importlib.reload(test_module)
    
  3. 在cell中添加如下代码,每次运行自动导入aimport 指定的模块
    比如我的test_module模块:
    %load_ext autoreload
    %autoreload 1
    %aimport test_module
    
    或者自动重载所有模块,每次运行一个cell,所有模块都会重载一次,缺点是会耗费一点时间。
    %load_ext autoreload
    %autoreload 2
    

本文转载自博客jupyter notebook 每次运行自动重新导入模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值