"不一致的错误-6ren"> "不一致的错误-我花了 6 个小时试图解决一个如下所示的导入问题: 目录: workspace workspace/src workspace/src/app/main.py workspace/src/app/__-6ren">
gpt4 book ai didi

Python "module not found"或 "relative path with no parent"或 "no module named "不一致的错误

转载 作者:行者123 更新时间:2023-12-04 19:28:59 27 4
gpt4 key购买 nike

我花了 6 个小时试图解决一个如下所示的导入问题:
目录:

workspace
workspace/src
workspace/src/app/main.py
workspace/src/app/__init__.py
workspace/src/app/api/api_v1.py
workspace/src/app/api/__init__.py
主文件
from app.api.api_v1 import api_router
api.py
from fastapi import APIRouter
api_router = APIRouter()
尝试运行 main.py 时出错:
  • 从 app.api.api_v1 导入 api_router > 未找到应用模块
  • from .api.api_v1 import api_router > 相对导入但没有父模块
  • from api.api_v1 import api_router > 这可行,但 linting 不起作用

  • 然后我向 .vscode 设置添加额外的路径:
    {
    "python.analysis.extraPaths": ["./src/app"]
    }
    我在 Windows 上运行 WSL2,文件位于已安装的驱动器上,但将其移至 linux WSL 远程设备上的主驱动器:/mnt/c/james >/home/james/~$
    我的问题是我为什么运行 main.py 并给出错误 1,然后立即再次运行它会给出错误 2?然后添加额外的路径并没有什么不同,然后第二天早上我重新启动了我的笔记本电脑,一切都神奇地工作了?
    我想哭...

    最佳答案

    似乎答案可能是我需要更改在终端中运行 main.py 的目录:
    这不起作用:

    ~workspace/$ main.py
    这有效:
    ~workspace/$ cd src/
    ~workspace/src/$ main.py

    关于Python "module not found"或 "relative path with no parent"或 "no module named <app>"不一致的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68520292/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com