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

Python跨目录导入模块失败求助:ModuleNotFoundError报错解决

解决导入logic模块失败的问题

针对你的项目结构,有三种可行的解决方式:

1. 使用相对导入

因为gui和logic是同级目录(都位于project根目录下),可以用相对导入语法在gui_file_one.py中导入目标类:

from ..logic.logic_file_one import A

注意:这种方式仅在project被当作模块导入时生效,不能直接运行gui_file_one.py(直接运行时Python会将其视为顶级脚本,相对导入会触发ValueError)。

2. 将项目根目录添加到Python路径

在gui_file_one.py的开头添加代码,手动把project目录加入Python的搜索路径:

import sys
import os
# 获取当前文件的上级目录的上级目录(即project根目录)
project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(project_root)

# 之后就可以正常导入
from logic.logic_file_one import A

这种方法允许你直接运行gui_file_one.py,无需依赖外部环境配置。

3. 设置PYTHONPATH环境变量

将project目录的路径添加到系统的PYTHONPATH环境变量中,让Python自动识别这个路径下的模块:

  • Windows(命令行):
    set PYTHONPATH=C:\实际路径\project
    
  • Linux/macOS(终端):
    export PYTHONPATH=/实际路径/project
    

配置完成后,你可以在任何位置使用from logic.logic_file_one import A语句,无需修改代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:30:42