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文件中。

相关文章:

  • 2021-06-19
  • 2021-04-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-05
猜你喜欢
  • 2021-07-13
  • 2021-07-28
  • 2021-06-25
  • 2021-10-22
  • 2021-10-22
  • 2021-06-17
  • 2022-02-09
相关资源
相似解决方案