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

VSCode Pylance无法识别相对导入,运行代码报错求助

解决ModuleNotFoundError: No module named 'app'问题

问题分析

直接运行app/main.py时,Python会将app目录加入sys.path,而非项目根目录deviverse-backend。此时from app import create_app会尝试在app目录下查找app子包,导致找不到模块。同时app/__init__.py中的导入语句也不符合包内导入规范。

解决方案

1. 修正包内导入语句

修改app/__init__.py中的导入为相对导入:

from flask import Flask
from .auth import auth_routes  # 改为相对导入,添加.表示当前包下的auth子包

def create_app():
    app = Flask(__name__)

    # Configure app settings if needed

    # Register blueprints
    app.register_blueprint(auth_routes.auth_bp)

    return app

2. 正确运行应用

切换到项目根目录deviverse-backend,使用模块方式运行:

python -m app.main

这种方式会将项目根目录加入Python的模块搜索路径,让import app能正确找到顶层的app包。

3. 调整Pylance识别路径

在工作区的.vscode/settings.json中添加如下配置,让Pylance将项目根目录视为源码根:

{
    "python.analysis.extraPaths": ["${workspaceFolder}"]
}

保存后重启VS Code,Pylance就能正确识别包结构和导入语句。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 12:40:13