Python导入models/maze模块时出现ModuleNotFoundError问题求助
解决ModuleNotFoundError:无法导入models和maze模块
1. 修复导入语句的语法错误
你的代码存在语法错误,多个import需分开书写或用逗号分隔:
错误写法:
import sys import os # ... import models import maze
正确写法:
import sys import os # ... import models import maze
或简化为:
import sys, os # ... import models, maze
2. 修正路径大小写问题
项目根目录是Common-Folder,但代码中写为Common-folder。Google Drive和Linux环境区分大小写,这会导致module_dir指向的路径不存在,无法成功添加到sys.path。
修正路径中的大小写:
module_dir = os.path.join('/content/drive/MyDrive/.../Common-Folder/Tools')
3. 确保models和maze是合法Python模块
需要被导入的文件夹必须是有效的Python模块,需在models和maze文件夹下创建__init__.py文件(可以是空文件),让Python识别它们为可导入模块。
修改后的文件结构:
|Common-Folder | |__Folder | |___main.py | |__Tools | |___models | | |___ __init__.py | | |___ [你的其他.py文件] | |___maze | |___ __init__.py | |___ [你的其他.py文件]
4. 用动态路径替代硬编码(可选但推荐)
硬编码绝对路径易出错,建议通过main.py的位置动态计算Tools文件夹路径,避免手动写死路径:
import sys import os # 获取main.py所在Folder目录的绝对路径 current_dir = os.path.dirname(os.path.abspath(__file__)) # 向上一级到Common-Folder,再进入Tools module_dir = os.path.join(current_dir, '..', 'Tools') # 转换为绝对路径(处理上级目录标识..) module_dir = os.path.abspath(module_dir) if module_dir not in sys.path: sys.path.append(module_dir) import models import maze
内容的提问来源于stack exchange,提问作者JadeHippo
相关产品推荐
相关产品推荐

