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

运行main.py遇ModuleNotFoundError: No module named 'api'问题求助

解决Python模块导入错误问题

问题原因

直接运行ChzzkRun.py时,Python会自动将当前文件所在目录加入模块搜索路径(sys.path),因此能正常找到同目录下的api.py。但从外部的main.py导入ChzzkRun时,搜索路径是main.py所在的根目录,此时api.py不在搜索范围内,就会触发ModuleNotFoundError。

解决方案

方法1:使用相对导入

修改ChzzkRun.py中的导入语句为相对导入,因为api.py和它属于同一包:

from . import api

注意:需要在ChzzkChatLog目录下新建一个空的__init__.py文件,让Python将该目录识别为合法的Python包。

方法2:手动添加模块路径

在ChzzkRun.py的开头添加代码,将自身所在目录加入搜索路径:

import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))

import api

这种方式可以确保无论从哪个位置导入ChzzkRun,都能找到同目录下的api.py。

方法3:使用绝对导入

根据项目结构,用完整的包路径导入api,假设ChzzkChatLog是根目录下的包,修改ChzzkRun.py中的导入语句:

from ChzzkChatLog import api

这种方式默认满足main.py运行时的路径要求,无需额外配置。

内容的提问来源于stack exchange,提问作者백조롱이

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 12:32:32