首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自父兄弟姐妹的Pyright导入导致导入丢失。

来自父兄弟姐妹的Pyright导入导致导入丢失。
EN

Stack Overflow用户
提问于 2021-06-09 00:31:59
回答 1查看 811关注 0票数 2

我正在尝试运行django应用程序,这是以下结构(最小复制):

代码语言:javascript
复制
root/
  business/
    __init__.py
    urls.py
  monitoring/
    __init__.py
    api.py
  manage.py

urls.py中,我有以下导入:from monitoring.api import MonitoringConfigurationAPIView。但是,这会导致Pyright错误[Pyright reportMissingImports] [E] Import "monitoring.api" could not be resolved

添加一个说明符以查看父目录(from ..monitoring.api ...)中的Pyright,但会导致Pyright本身出错:

代码语言:javascript
复制
File "/home/user/Projects/root/business/urls.py", line 20, in <module>
    from ..monitoring.api import MonitoringConfigurationAPIView
ImportError: attempted relative import beyond top-level package

我尝试在根目录中添加一个空白的__init__.py,但这并没有帮助。我尝试在根dir (root/pyrightconfig.json)中创建一个root/pyrightconfig.json文件并设置根目录,但这也不起作用。

代码语言:javascript
复制
{
    "executionEnvironments": [
        {
          "root": "."
        }
    ]
}

所有的外部包,它可以处理得很好,没有问题。只有当地人才是问题。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-09 01:26:12

找到了一个指向我问题的链接。pyrightconfig.json必须位于回购根,而不是项目根。

刚刚解决了我的问题。似乎coc扩展将git的根识别为根目录,而不是您打开的目录。我使用一个monorepo的子目录作为我的根目录,然后用它自己打开它,并使用新的。我刚刚将pyrightconfig.json移动到正确的根目录,并在执行环境中将子目录的前缀添加到根路径中,它就可以工作了。

https://github.com/fannheyward/coc-pyright/issues/235#issuecomment-756288634

我的回购是技术上的

代码语言:javascript
复制
repo/
  namespace/
    namespace/
      django root/
        business/
        ...

不过,我不认为这有什么关系。是我的错。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67896046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档