我正在尝试运行django应用程序,这是以下结构(最小复制):
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本身出错:
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文件并设置根目录,但这也不起作用。
{
"executionEnvironments": [
{
"root": "."
}
]
}所有的外部包,它可以处理得很好,没有问题。只有当地人才是问题。我是不是遗漏了什么?
发布于 2021-06-09 01:26:12
找到了一个指向我问题的链接。pyrightconfig.json必须位于回购根,而不是项目根。
刚刚解决了我的问题。似乎coc扩展将git的根识别为根目录,而不是您打开的目录。我使用一个monorepo的子目录作为我的根目录,然后用它自己打开它,并使用新的。我刚刚将pyrightconfig.json移动到正确的根目录,并在执行环境中将子目录的前缀添加到根路径中,它就可以工作了。
https://github.com/fannheyward/coc-pyright/issues/235#issuecomment-756288634
我的回购是技术上的
repo/
namespace/
namespace/
django root/
business/
...不过,我不认为这有什么关系。是我的错。
https://stackoverflow.com/questions/67896046
复制相似问题