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

ModuleNotFoundError报错求助:Python游戏开发中states模块导入失败

解决Python多状态游戏开发中的模块导入错误

问题场景

你的项目目录结构如下:

.
└── Test_game
    ├── game_play.py
    ├── game.py
    ├── map
    │   └── map.png
    └── states
        ├── state.py
        └── title.py

出现的报错情况:

  • 在title.py中执行from states.state import State,触发ModuleNotFoundError: No module named 'states'
  • 在game.py中执行from states.title import Title,同样触发上述错误
  • 尝试过pip3 install states,问题未解决

原因解析

  1. Python默认只会搜索当前运行脚本所在目录以及系统库路径,你的脚本运行时没把Test_game根目录纳入搜索范围,所以找不到states模块
  2. 用pip安装states完全没用,因为这是你自己写的本地模块,不是公开的第三方库

可行解决方法

方法1:改用相对导入

  • 在title.py里,把导入语句改成相对路径形式:
    from .state import State
    
  • game.py和states目录同级,原导入语句from states.title import Title本身没问题,但要确保运行脚本时的工作目录是Test_game根目录

方法2:手动添加项目路径到Python搜索列表

在game.py的最开头加上这段代码,强制把项目根目录加入Python的搜索路径:

import sys
import os
# 将当前脚本所在目录(也就是Test_game根目录)添加到Python路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

方法3:切换正确的工作目录再运行脚本

打开终端,先切换到Test_game目录,再执行脚本:

# 替换成你实际的Test_game路径
cd /Users/xxx/Projects/Test_game
python game.py

别在Test_game的父目录直接跑python Test_game/game.py,这会让Python识别错模块路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:27:07