Jupyter Notebook中导入自定义Square类遇ImportError的问题求助
解决Python类导入错误问题
错误原因
错误信息显示Python试图从Anaconda标准库的types.py中导入Square类,而非你自己编写的squaretypes.py。这说明Python没有找到你的自定义模块,反而匹配到了系统内置模块,或是出现了路径、命名类问题。
解决方案
确认文件位置与命名:
- 确保
squaretypes.py和运行导入代码的文件(或Jupyter Notebook的当前工作目录)在同一文件夹中。在Jupyter里可以执行!dir(Windows)或!ls(Linux/macOS)查看当前目录下的文件,检查squaretypes.py是否存在。 - 检查文件名是否准确:必须是
squaretypes.py,不能拼写错误(比如写成types.py会和标准库模块冲突)。
- 确保
添加模块路径(文件不在同一目录时):
如果squaretypes.py在其他文件夹,先把该文件夹路径添加到Python的搜索路径中,再执行导入:import sys sys.path.append("C:/你的/squaretypes文件所在/文件夹路径") from squaretypes import Square重启Jupyter内核:
Jupyter会缓存已导入的模块,重启内核后重新运行代码,避免缓存导致的导入异常。验证类代码正确性:
确认squaretypes.py中的类代码无语法错误,你的代码是正确的,如下:class Square: def __init__(self, val): self.val = val def getVal(self): return self.val * self.val
内容的提问来源于stack exchange,提问作者kiacoder
相关产品推荐
相关产品推荐

