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

Python编译程序导入报错:找不到Token模块问题求助

解决Python模块导入错误的方案

你的问题出在模块导入路径的解析逻辑上:当直接运行Tokenizer的测试时,Python的工作目录是Tokenizer文件夹,所以from Token import *能找到同目录的Token.py;但当Parser导入Tokenizer时,Python的搜索路径是基于mainProject或运行parser_test.py的目录,此时找不到名为Token的顶层模块,就会报错。

下面是三种可行的解决方法:

方法一:使用相对导入(推荐)

修改Tokenizer/Tokenizer.py中的导入语句,改为相对导入,明确指定Token是当前包内的模块:

from .Token import *

这种方式不受运行目录影响,不管是直接运行Tokenizer的测试,还是被其他模块导入,都能正确找到依赖的Token模块。

方法二:将mainProject加入Python路径

在Parser/parser_test.py的开头添加代码,手动把mainProject目录加入Python的模块搜索路径:

import sys
import os
# 获取mainProject目录的绝对路径
main_project_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if main_project_path not in sys.path:
    sys.path.append(main_project_path)

这样Python就能识别Tokenizer和Parser作为顶层包,Tokenizer.py中的导入语句也能被正确解析。

方法三:以模块方式运行测试

切换到mainProject目录下,用Python的模块运行方式执行测试脚本:

python -m Parser.parser_test

这种方式会自动把mainProject设为模块搜索的根目录,配合方法一的相对导入,就能彻底解决路径问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:45:08