Jupyter导入自定义模块及导入后TypeError错误解决办法

一.Jupyter导入自定义模块方法

1.相同目录导入方法

如果我当前目录如下:

  • A
    a.ipynb
    b.ipynb

我现在要在b.ipynb中导入a.ipynb中的函数和类
导入方法为:
先将a.ipynb下载为a.py文件(下载方法见下图),并放于和b.ipynb相同路径下
即这时候的文件目录变为:

  • A
    a.py
    a.ipynb
    b.ipynb

注意:下载路径为你当前使用浏览器的下载路径,你需要将下载好的文件移动到相应目录。
在这里插入图片描述
这时候可以直接在b.ipynb中使用下面代码直接导入a.py文件:

import a

其他导入规则和普通.py文件导入方法相同
另一个直接导入.ipynb的方法

2.不同目录导入方法

如果将要导入的a.ipynb文件和要执行的文件b.ipynb不在同一目录下
即这时候的文件目录为:

  • A
    a.ipynb
  • B
    b.ipynb

同样,先下载a.py文件,然后文件路径变为

  • A
    a.py
    a.ipynb
  • B
    b.ipynb

此时导入a.py的方法为:
在b.ipynb中先加载a.py所在目录(即目录A),这里用相对路径:

import sys
sys.path.insert(0, "./../A/")

这时就可以正常导入a.py文件了

import a

二.TypeError错误解决办法

注:这里的错误指的是导入模块后报错,和其他情况报TypeError错误不同。
在这里插入图片描述
首先确定函数形参和实参数量,类型是否对应。如果对应则解决办法为:
保存当前.ipynb文件,然后在Running中关闭该文件,重新打开运行。

错误说明:一般该错误发生的原因为: 被导入模块的代码被修改,例如被导入模块(即.py文件)中的某个函数原来没有形参。此时已经执行import该模块,然后执行后发现该模块中的某个函数需要一个形参,此时去.py文件中加入形参并保存。此时再去Jupyter执行该函数,明明形参和实参数量、类型等等都对应,但是还是会报TypeError错误。此时其实不是代码的错,而是Jupyter本身的错误,即无法对实时更改内容进行更新,按照加粗红体字解决办法即可解决。

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值