Python自定义类在Jupyter Notebook中正确定义导入仍无法加载
问题成因
Python的import语句导入模块时,默认会从当前工作目录、已安装的第三方库路径等位置查找后缀为.py的Python模块文件。你当前是将Shirt类的代码写在了Jupyter Notebook的单元格中,并没有将对应代码单独存储为名为shirt.py的独立模块文件,因此导入时找不到对应模块触发报错。
如果已经存了shirt.py文件仍报错,大概率是该文件的存储路径不在Jupyter内核的搜索路径范围内,最常见的情况是没有放在当前Notebook的同级文件夹下。
解决方法
- 同Notebook内使用无需导入:直接运行写有
Shirt类定义的代码单元格,后续同个Notebook的其他单元格可以直接调用Shirt类,不需要写导入语句。 - 跨文件/跨Notebook导入:将
Shirt类的代码完整复制到空白文本文件中,将文件命名为shirt.py,存储到当前运行的Jupyter Notebook的同级文件夹下,再执行from shirt import Shirt即可正常导入。 - 如果
shirt.py需要存到其他路径,可以临时将存储路径加入Python搜索路径后再导入:
import sys # 引号内替换为shirt.py所在文件夹的绝对路径 sys.path.append("/home/user/custom_py_modules/") from shirt import Shirt
内容的提问来源于stack exchange,提问作者juhikushwah
相关产品推荐
相关产品推荐

