You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python导入自定义文件报错ModuleNotFoundError的问题求助

解决思路

1. 确认文件目录结构

确保CustomWidgets.py和MainWindow.py处于同一级目录下。若不在同一目录,需调整导入路径或把父目录加入Python的模块搜索路径。

2. 核对导入语句

同目录下的正确导入写法:

from CustomWidgets import SliderSpinBox

或:

import CustomWidgets
# 使用时调用 CustomWidgets.SliderSpinBox

注意:Linux/macOS系统严格区分文件名大小写,确保导入时的名称和文件名完全一致(比如不要把CustomWidgets写成customwidgets)。

3. 检查脚本运行的工作目录

  • 终端运行时:先通过cd命令切换到两个文件所在的目录,再执行python MainWindow.py。
  • IDE运行时:检查IDE的“工作目录”设置,确保指向项目根目录(即两个文件所在的目录)。

4. 排查命名冲突

确认项目中没有其他同名的CustomWidgets.py文件,也不存在名为CustomWidgets的子目录(会被识别为包,覆盖单个文件模块);同时检查Python安装目录下是否有重名模块。

5. 验证模块搜索路径

在MainWindow.py开头添加以下代码,查看当前Python的模块搜索路径:

import sys
print(sys.path)

输出列表中必须包含CustomWidgets.py所在的目录。如果没有,可手动添加:

import sys
import os
# 将当前脚本所在目录加入搜索路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

6. 添加__init__.py(可选)

Python 3.3+支持无__init__.py的命名空间包,但如果项目结构复杂或使用旧版Python,可在文件所在目录添加一个空的__init__.py文件,标记该目录为Python包。

内容的提问来源于stack exchange,提问作者Roland Bellér

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:25:03