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

Python导入模块报ModuleNotFoundError 跨目录访问模块找不到问题

Python模块导入错误解决方案

该错误的核心原因是Python运行时的模块搜索路径中未包含你的project项目根目录,无法定位到modules包。

解决方案

  • 方案1:test.py中临时添加搜索路径
    在test.py文件的最开头加入以下代码,手动把项目根目录加入Python搜索路径:
import sys
import os
# 计算项目根目录(test目录的上层目录)的绝对路径
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(project_root)

添加后即可正常导入所需模块:

# 导入config/cache.py
from modules.config import cache
  • 方案2:调整运行命令的执行位置
    不需要修改代码,运行时不要进入test目录执行脚本,而是在project根目录下以模块模式运行test.py:
python -m test.test
  • 方案3:IDE适配(可选)
    如果使用PyCharm、VS Code等IDE开发,可直接将project目录标记为「源代码根目录(Sources Root)」,IDE运行脚本时会自动将该目录加入模块搜索路径,无需额外修改代码。

模块内部跨文件访问写法

模块内部的跨文件导入直接使用基于modules包的绝对导入即可,稳定性最高:
比如从config/env.py访问database/models/game.py,直接在env.py中写:

from modules.database.models import game

无需使用复杂的相对导入,只要保证运行时搜索路径包含项目根目录即可正常生效。你当前modules目录下的__init__.py配置无需修改,可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:45:03