jupyter实现重新加载模块

最近几年,jupyter在全球数据科学领域,已经成为不可或缺的重要工具。

在jupyter中用python写程序,若import了自己写的外部模块,如果这个外部模块有更新,再次执行import,jupyter是不会重新导入的。一般的做法是先restart整个jupyter文档,再重新执行代码,以确保所有导入的外部模块都是最新的。但这种做法太麻烦,效率也不高。

网上搜“jupyter auto reload”,目前搜到的主要是ipython的%load_ext,这在jupyter下并不适用;也搜到了reload,但发现在不同版本的jupyter下也有问题。

现在看来,这个问题虽然简单,但目前网上的solution还不是很容易检索到,所以值得在这里记录一下。

在jupyter下实现模块重新加载(每一次运行import,都导入模块最新的代码),有三种方式:

对于 Python2.x

import some_module
reload(some_module)

对于 Python 3.2 and 3.3:

import some_module
import importlib
importlib.reload(some_module)

对于 Python3.4+

import some_module
import imp
imp.reload(some_module)

补充知识:jupyter notebook版本更新和降低版本命令

安装更高的版本:

pip install -U "notebook>6.0"

降低版本

pip install -U "notebook<5.0"

以上这篇jupyter实现重新加载模块就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决 jupyter notebook 回车换两行问题

    最近安装了丘比特笔记本(jupyter notebook),各种快捷键和编辑模式用的非常舒服.但是我的默认浏览器是chrome 每次回车换行都会空出两行,很是不方便.没有找到问题出在哪里,偶然百度到有人说可能是浏览器插件的锅. 关闭所有插件后,重启jupyter notebook后果然解决了,经过排查发现是Tampermonkey中的网页限制解除脚本导致. 如遇到此类问题,请关闭浏览器插件后重新试一下. 补充知识:jupyter notebook设置一个执行单元多个输出 问题描述 日常我们在使用

  • Jupyter notebook无法导入第三方模块的解决方式

    在CMD控制台进入Jupyter notebook之前,先激活安装了该模块的配置环境,再启动jupyter notebook,问题完美解决. 补充知识:anaconda安装jupyter notebook时报错:ImportError:DLL load failed,找不到指定模块的解决办法 在用anaconda装jupyter notebook的时候安装过程没问题,但是运行jupyter时报错,错误如下.可能是因为我之前用的是anaconda2,有一个jupyter,然后我把annaconda

  • 解决jupyter运行pyqt代码内核重启的问题

    在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错: The kernel appears to have died. It will restart automatically. from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * import sys app = QApplication(sys.argv) window = Q

  • 解决jupyter notebook import error但是命令提示符import正常的问题

    基本上是因为jupyter notebook的kernel所用的python和命令提示符中的python环境不一样. 首先分别在cmd和jupyter notebook下查看所用python版本: import sys sys.executable 如果不一样的话就进行下一步,更改jupyter notebook的kernel环境: 在命令行输入: ipython kernelspec list 可以看到指定kernel地址的文件夹 : Available kernels: python2 C:

  • 解决python Jupyter不能导入外部包问题

    在网上看了很多解决方法,都没有解决,后来我自己解决了这个问题: 出现的问题:在cmd上 "pip install package" 时显示 satisfied,但在Jupyter中 import package 报错"No module..." 问题原因:cmd中安装这个包的文件夹与Jupyter的包的文件夹不同. 解决方法: 1. 找到cmd所安装的包所在的 site-packages 文件夹,方法: 在cmd中输入"pip install packag

  • ipython jupyter notebook中显示图像和数学公式实例

    1. # 可以使用LaTeX表示数学公式 # 可以使用LaTeX表示数学公式 from IPython.display import Latex Latex(r"$\sqrt{x^2+y^2}$") 2. # SymPy的表达式也可以显示为LaTex %load_ext sympyprinting from sympy import * x, y = symbols("x,y") sqrt(x**2+y**2) 3. # 用Image类显示"jupyter

  • jupyter实现重新加载模块

    最近几年,jupyter在全球数据科学领域,已经成为不可或缺的重要工具. 在jupyter中用python写程序,若import了自己写的外部模块,如果这个外部模块有更新,再次执行import,jupyter是不会重新导入的.一般的做法是先restart整个jupyter文档,再重新执行代码,以确保所有导入的外部模块都是最新的.但这种做法太麻烦,效率也不高. 网上搜"jupyter auto reload",目前搜到的主要是ipython的%load_ext,这在jupyter下并不适

  • AngularJs 动态加载模块和依赖

    最近项目比较忙额,白天要上班,晚上回来还需要做Angular知识点的ppt给同事,毕竟年底要辞职了,项目的后续开发还是需要有人接手的,所以就占用了晚上学习的时间.本来一直不打算写这些第三方插件的学习笔记,不过觉得按需加载模块并且成功使用这个确实是个好处,还是记录下来吧.基于本兽没怎么深入的使用requireJs,所以本兽不知道这个和requireJs有什么区别,也不能清晰的说明这到底算不算Angular的按需加载. 为了实现这篇学习笔记知识点的效果,我们需要用到: angular:https:/

  • AngularJs动态加载模块和依赖注入详解

    废话不多说,进入正题... 首先我们看下文件结构: Angular-ocLazyLoad --- demo文件夹 Scripts --- 框架及插件文件夹 angular-1.4.7 --- angular 不解释 angular-ui-router --- uirouter 不解释 oclazyload --- ocLazyload 不解释 bootstrap --- bootstrap 不解释 angular-tree-control-master --- angular-tree-cont

  • AngularJS动态加载模块和依赖的方法分析

    本文实例讲述了AngularJS动态加载模块和依赖的方法.分享给大家供大家参考,具体如下: 前言 由于AngularJS是单页面应用框架,在正常的情况下,会在访问页面的时候将所有的CSS.JavaScript文件都加载进来.文件不多的时候,页面启动速度倒不会影响太多.但是一旦文件数太多或者加载的第三方库比较大的时候,就会影响页面启动速度.因此对于应用规模大.文件数比较多或者加载的第三方库比较大的时候,采用动态加载JS或者动态加载模块会极大提升页面的启动速度.本文将介绍如何利用ocLazyLoad

  • node.js使用require()函数加载模块

    详细说明均以写在注释之中,这里就不啰嗦了,小伙伴们自己详细看吧,千万别吧注释当成空气了. 复制代码 代码如下: /*在node中,可以使用require()函数来加载模块.  * require函数使用一个参数,参数值可以带有完整路径的模块的文件名,也可以为模块名.当使用node中提供的模块时,在require函数中只需要指定模块名即可.  * */ //建立一个页面2.js;代码如下 var name="思思博士"; exports.name=name; //建立一个页面1.js;代

  • Python实现动态加载模块、类、函数的方法分析

    本文实例讲述了Python实现动态加载模块.类.函数的方法.分享给大家供大家参考,具体如下: 动态加载模块: 方式1:系统函数__import__() 方式2:imp, importlib 模块 方式3:exec 函数 动态加载类和函数 首先,使用加载模块,使用内置函数提供的反射方法getattr(),依次按照层级获取模块->类\全局方法->类对象\类方法. test_import_module.py class ClassA: def test(self): print('test') in

  • Python之inspect模块实现获取加载模块路径的方法

    该文主要介绍如何获取模块的路径,需要申明的是这里所说的模块可以是功能实现的该模块,也可以是别的模块. 使用到的是 inspect 模块的 .getsourcefile(需要获取的模块名) 创建test.py内容如下: import os import inspect class pathManager(object): def __init__(self): pass def _abPath(self): modulePath = inspect.getsourcefile(os) abPath

  • Python重新加载模块的实现方法

    importlib 模块的作用 模块,是一个一个单独的py文件 包,里面包含多个模块(py文件) 动态导入模块,这样就不用写那么多的import代码, 典型的例子: 自动同步服务,每个网站都有一个py文件.主进程里收到同步任务,根据名称来动态导入对应的py文件,这样就不用写那么多的import代码.(有点类似java的工厂方法) 但是,importlib并不能解决我在线修改py源码,再不重启进程的情况下,使修改生效. 这种情况,可以使用reload() reload方法 为防止两个模块互相导入的

  • Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖

    什么是ui-router ui-router是AngularUI库最有用的组件之一(AngularUI库由AngularJS社区构建).它是一个第三方路由框架,允许通过状态机制组织接口,而不是简单的URL路由.  什么是ocLoayLoad ocLoayLoad是AngularJS的模块按需加载器.按需加载的对象 简单说就是哪个页面需要什么资源,在加载哪个页面的时候在加载,而不是把所有的资源放在模板里. 三个主要文件 <script src="angular/1.4.8/angular/a

  • 浅谈Webpack 是如何加载模块的

    Webpack 在前端开发中作为模块打包工具非常受开发者的青睐,丰富的 loader 使它可以实现各种各样的功能.本文将通过 webpack 来打包一个 js 文件,看看 webpack 是如何加载各个模块的. 两个简单的源文件 为了方便分析 webpack 加载模块的原理,我们准备了两个文件: hello.js const hello = { say: arg => { console.info('hello ' + arg || 'world'); } }; export default h

随机推荐