【Python】jupyter多次import不生效

参考文献

原因

一个 Jupyter Notebook 中的所有代码,都是在同一个运行时中运行的代码,当多次导入同一个模块时,Python 的包管理机制会自动忽略后面的导入,始终只使用第一次导入的结果(所以使用这种方式也可以实现单例模式)。        

如果在修改了被导入的包以后,想重新导入它怎么办呢?

有3种方案

1. 重启整个 Notebook

        但这样会导致当前运行时里面的所有变量全部丢失。

2. 使用importlib

import importlib
importlib.reroad(your_module)
# 在需要重新导入module的cell中写importlib.reroad即可

3. 魔法函数

在cell中添加如下代码,每次运行自动导入aimport 指定的模块。

%load_ext autoreload
%autoreload 1
%aimport your_module

进一步偷懒,自动重载所有模块,每次运行一个cell,所有模块都会重载一次,缺点是会耗费一点时间

%load_ext autoreload
%autoreload 2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值