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

跨文件夹导入Python模块失败,请求排查语法错误原因

问题解决步骤

1. 先处理眼前的SyntaxError

你遇到的语法错误是因为在Python交互解释器(带>>>提示符的界面)里输入了系统终端命令——Python交互环境只能执行Python代码,无法直接运行系统级的脚本启动命令。

解决方式:

  • 输入exit()退出Python交互环境,回到系统终端(比如Windows的CMD、PowerShell)。
  • 在系统终端中重新执行你的脚本启动命令:
    c:/Users/erceuih/hatch-test-2/.venv/default/Scripts/python.exe c:/Users/erceuih/hatch-test-2/tests/test_addition.py
    

2. 解决后续可能出现的模块导入问题

修正执行方式后,大概率会遇到ModuleNotFoundError: No module named 'src',这是因为Python默认搜索路径里没有包含你的项目根目录,无法识别src模块。可以用以下三种方法解决:

方法一:临时设置PYTHONPATH环境变量

在系统终端中先执行命令,把项目根目录加入Python的模块搜索路径:

# Windows CMD环境
set PYTHONPATH=C:\Users\erceuih\hatch-test-2

# Windows PowerShell环境
$env:PYTHONPATH = "C:\Users\erceuih\hatch-test-2"

之后再运行测试脚本即可。

方法二:在测试脚本中手动添加路径

修改tests/test_addition.py,在导入模块前添加代码,手动将项目根目录加入Python搜索路径:

# tests/test_addition.py
import sys
from pathlib import Path

# 获取项目根目录(当前脚本所在文件夹的上级目录)
project_root = Path(__file__).parent.parent
sys.path.append(str(project_root))

from src.add import add

def test_add():
    assert 1 + 1 == add(1, 1)

方法三:将项目安装为可编辑模式

在项目根目录(C:\Users\erceuih\hatch-test-2)下打开终端,执行:

pip install -e .

这会把src模块注册到Python环境中,后续无需额外配置就能直接导入,适合长期开发的项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:15:09