Django项目中Pylance自动导入层级过深报模块不存在如何解决
解决Django开发中Pylance自动导入层级多余的问题
该问题的核心原因是Pylance默认将你打开的工作区根目录作为Python模块查找的基准路径,路径匹配不符合你的项目结构规则,才会生成多一层级的导入语句,可通过以下几种方法解决:
方法1:配置VS Code工作区的Python解析路径
- 打开当前工作区根目录,新建/编辑
.vscode/settings.json文件 - 加入如下配置,将导入语句的基准目录加入Pylance的扫描路径:
{ "python.analysis.extraPaths": [ "./BackEnd" // 如果你打开的工作区根目录就是Warenwirtschaft/BackEnd,这里直接写"."即可 ] }
- 保存配置后重启语言服务即可生效。
方法2:调整工作区打开层级
直接在VS Code中打开Warenwirtschaft/BackEnd/作为工作区根目录,不要打开更上层的Warenwirtschaft/目录。Pylance会默认把当前打开的目录作为模块查找基准,自动导入时会直接生成符合预期的层级语句。
方法3:配置通用Pyright规则(不绑定VS Code)
Pylance底层基于Pyright实现,你可以在Warenwirtschaft/BackEnd/目录下新建pyrightconfig.json文件,所有使用Pyright的编辑器都会自动识别该配置:
{ "include": ["./**/*.py"], "extraPaths": ["."] }
该配置无需单独修改编辑器参数,跨设备同步项目时也会自动生效。
配置完成后如果未即时生效,可按Ctrl+Shift+P(Mac系统为Cmd+Shift+P)调用命令面板,执行「Python: Restart Language Server」手动重启Pylance即可。
内容的提问来源于stack exchange,提问作者Sini.py
相关产品推荐
相关产品推荐

