Python导入模块报错:ModuleNotFoundError: No module named 'tabele'
解决Python导入同级目录模块的ModuleNotFoundError问题
针对你遇到的情况,给出几个具体的排查和解决步骤:
确保tabele是Python可识别的包
Python要求文件夹必须包含__init__.py文件(可以是空文件)才能被识别为模块包。检查tabele文件夹下是否存在这个文件,如果没有,新建一个空的__init__.py。确认添加到sys.path的路径是正确的父目录
你需要添加的是tabele文件夹的父目录,而不是tabele自身的路径。比如你的目录结构是:项目根目录/ ├─ gui/ │ └─ konverzijaZaGui.py └─ tabele/ └─ citajIzTabele.py应该把「项目根目录」添加到sys.path,而不是
tabele的路径。可以用动态路径的方式避免硬编码错误:import sys import os # 获取当前脚本所在的gui目录 gui_dir = os.path.dirname(os.path.abspath(__file__)) # 获取gui的父目录(即项目根目录) root_dir = os.path.dirname(gui_dir) # 将根目录加入sys.path if root_dir not in sys.path: sys.path.append(root_dir) # 正确导入模块 from tabele import citajIzTabele检查导入语句的写法
确保导入语句是from tabele import citajIzTabele或者import tabele.citajIzTabele as 别名,不要直接写import tabele(除非你在tabele/__init__.py里显式导出了citajIzTabele)。排查IDE运行配置(如果使用IDE)
部分IDE(如PyCharm)的运行工作目录如果设置为gui文件夹,会覆盖sys.path的设置。可以把运行配置里的「工作目录」改成项目根目录,让Python从根目录开始查找模块。
内容的提问来源于stack exchange,提问作者Che
相关产品推荐
相关产品推荐

