Jupyter導入自定義模塊及導入后TypeError錯誤問題及解決
Jupyter導入自定義模塊方法
1.相同目錄導入方法
如果我當前目錄如下:
A
a.ipynb
b.ipynb
我現在要在b.ipynb中導入a.ipynb中的函數和類
導入方法為:
先將a.ipynb下載為a.py文件(下載方法見下圖),并放于和b.ipynb相同路徑下
即這時候的文件目錄變?yōu)椋?/p>
A
a.py
a.ipynb
b.ipynb
注意:下載路徑為你當前使用瀏覽器的下載路徑,你需要將下載好的文件移動到相應目錄。
這時候可以直接在b.ipynb中使用下面代碼直接導入a.py文件:
import a
其他導入規(guī)則和普通.py文件導入方法相同
2.不同目錄導入方法
如果將要導入的a.ipynb文件和要執(zhí)行的文件b.ipynb不在同一目錄下,
即這時候的文件目錄為:
A
a.ipynb
B
b.ipynb
同樣,先下載a.py文件,然后文件路徑變?yōu)?/p>
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中關閉該文件,重新打開運行。
錯誤說明:
一般該錯誤發(fā)生的原因為:被導入模塊的代碼被修改,例如被導入模塊(即.py文件)中的某個函數原來沒有形參。
此時已經執(zhí)行import該模塊,然后執(zhí)行后發(fā)現該模塊中的某個函數需要一個形參,此時去.py文件中加入形參并保存。
此時再去Jupyter執(zhí)行該函數,明明形參和實參數量、類型等等都對應,但是還是會報TypeError錯誤。
此時其實不是代碼的錯,而是Jupyter本身的錯誤,即無法對實時更改內容進行更新,按照加粗紅體字解決辦法即可解決。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python Web框架之Django框架Form組件用法詳解
這篇文章主要介紹了Python Web框架之Django框架Form組件用法,結合實例形式詳細分析了Django框架中各種常用Form組件的功能、使用方法及相關操作注意事項,需要的朋友可以參考下2019-08-08