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

Python导入constants模块报ModuleNotFoundError错误求助

问题产生原因

报错的核心原因是board.py内的导入路径写法不符合Python的包检索规则:
你的项目中constants.py和board.py同属于checkers子包,但board.py里写的from constants import BLACK, ROWS, RED, SQUARE_SIZE属于顶级绝对导入,Python执行这行代码时,会直接从项目根目录(存放main.py的checkers with AI文件夹)下查找名为constants的模块,而根目录下不存在这个文件,自然抛出模块找不到的错误。
你在main.py中写的从checkers.xxx导入的逻辑本身是对的,问题只出在子包内部文件的导入写法上。

解决方法

二选一即可,优先选第一种:

  • 方案1:使用包内相对导入(最稳妥)
    修改checkers/board.py中的导入语句,在模块名前加.代表当前包目录,让Python直接从同文件夹下找对应模块:
    from .constants import BLACK, ROWS, RED, SQUARE_SIZE
    
    同时修正main.py里漏了换行的导入语句,正确写法如下:
    from checkers.constants import WIDTH, HEIGHT
    from checkers.board import Board
    
  • 方案2:统一使用根路径绝对导入
    如果不习惯相对导入,也可以把board.py里的导入改成和main.py一致的、从项目根出发的绝对路径:
    from checkers.constants import BLACK, ROWS, RED, SQUARE_SIZE
    
    注意:用这种写法必须保证你是在项目根目录(checkers with AI文件夹)下启动运行main.py,否则依然可能出现路径检索错误。
额外注意事项
  • 运行脚本时不要进入checkers子文件夹内启动,要在存放main.py的根目录下执行运行命令
  • 你在所有包目录下添加__init__.py、加if __name__ == '__main__': main()入口判断的操作都是正确的,不需要改动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:48:16