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

多目录分模块Python项目导入报错ModuleNotFoundError如何解决?

问题定位步骤
  • 第一步:打印模块搜索路径确认根目录是否在搜索列表
    在start.py最顶部加入以下代码,运行后查看输出中是否包含你的项目根路径E:\MySoftware:
import sys
print(sys.path)

如果没有该路径,说明Python运行时的工作目录配置错误,找不到本地的modules包。

  • 第二步:检查文件命名与后缀
    确认modules文件夹下的文件确实命名为mymodulesteam.py,无拼写错误、大小写错误,也没有被系统隐藏真实后缀(比如误存为mymodulesteam.py.txt)。
  • 第三步:排查命名冲突
    检查Python环境中是否存在同名的第三方modules包,或者sys.path中其他路径下存在同名modules文件夹,导致Python优先搜索到了错误的包。
  • 第四步:检查IDE运行配置
    如果使用VSCode、PyCharm等IDE运行代码,确认运行配置里的「工作目录(cwd)」设置为E:\MySoftware,而非modules子目录。
解决方案
  1. 手动添加项目根目录到搜索路径
    在start.py最顶部加入以下代码,自动将项目根目录加入模块搜索列表:
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  1. 修正包导入逻辑
    如果你在modules文件夹下保留了__init__.py,需要在该文件中显式导出对应模块,加入一行:
from . import mymodulesteam

之后prepare.py中使用绝对导入即可:

from modules import mymodulesteam as mymodules

如果删除__init__.py,确保sys.path包含项目根目录的前提下,上述导入语句也可以正常运行。
3. 统一运行入口
不要单独直接运行prepare.py,全部从start.py入口启动项目;如果需要调试单个模块,在MySoftware目录下打开终端,使用模块运行命令:

python -m start

内容的提问来源于stack exchange,提问作者Gauthier Buttez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:54:02