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

Python项目已加__init__.py仍无法导入WebAPI模块的问题求助

解决Python模块导入"No Module Named"问题的思路

1. 确认VSCode的工作目录

确保VSCode打开的根目录是WebAPI的父目录,而非WebAPI本身。比如WebAPI存放在/workspace/WebAPI,那要打开/workspace文件夹,这样Python才能将WebAPI识别为顶层模块。

2. 手动添加模块路径到sys.path

在login.py开头加入以下代码,强制让Python解释器找到WebAPI的位置:

import sys
import os
# 三级目录跳转,从login.py回到WebAPI的父目录
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))

3. 使用相对导入替代绝对导入

由于login.py属于WebAPI的子模块,可改用相对导入语法:

from ..models.user import User

注意:使用相对导入时,不能直接运行login.py作为主脚本(比如python routes/login.py),必须从WebAPI的父目录以模块方式启动项目,例如python -m WebAPI.ServerAPI。

4. 核对VSCode的Python解释器环境

检查VSCode左下角显示的Python解释器,确保和你运行项目时使用的解释器(包括虚拟环境)一致,避免因环境不一致导致的路径识别问题。

5. 验证__init__.py的有效性

确保所有目录下的__init__.py文件无语法错误,文件可以是空的,也可以添加导出语句(比如在models/init.py中写from .user import User,方便后续简化导入,但不是必须项)。

内容的提问来源于stack exchange,提问作者Bailey Barber-Scargill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 16:02:07