Jupyter Notebook是Python學習過程中的一把利器,所以我也在github上創建了一個倉庫專門用來放各種python庫的實操記錄,好記性不如筆頭。
但平時除了導入一些打包好的開源模塊外,也會有需要自已定義一些常用模塊,但導入的時候就出現了ImportError卻找不到原因:
importerror attempted relative import with no known parent package
搜索之后發現是我的目錄結構的問題。
有問題的目錄結構是這樣的:
simple_ipynb:
|---core:
|---fileutil.py
|---pandas_wiki.ipynb
Jupyter Notebook對模塊的索引機制和普通的Python相同,只不過執行的是.ipynb而已,但需要注意幾點:
- 引入的自定義模塊必須是.py的python腳本文件而不是.ipynb文件(因為Jupyter不建議自定義模塊,而是使用工具包)
- 引入的自定義模塊必須在ipynb文件的相同目錄下(我就是因為通過相對路徑導入直接出現異常)
- 對自定義模塊內容修改后要重啟服務或者重啟內核,才能反映到使用該模塊的.ipynb文件中。