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

VS Code升级最新Pylance后无法导入同目录文件:提示“import could not be resolved”

问题解答

为什么升级后必须打开整个文件夹才能导入同目录文件?

Pylance 2024.5.1版本调整了模块路径解析逻辑,变得更严格。当仅打开单个文件时,VS Code默认不会将该文件所在目录自动加入Python的sys.path(Pylance依赖这个路径列表查找模块);而打开整个文件夹时,VS Code会自动把文件夹根目录添加到sys.path,因此Pylance能正常识别同目录下的模块。之前的版本对单个文件场景做了宽松处理,自动将文件所在目录纳入解析范围,新版本取消了这一宽松逻辑。

解决方法(无需强制使用虚拟环境)

  • 在单个文件中手动添加路径:在文件开头加入以下代码,强制将当前文件所在目录加入sys.path,既解决Pylance报错,也不影响代码运行:
    import sys
    import os
    sys.path.append(os.path.dirname(os.path.abspath(__file__)))
    
  • 修改VS Code设置:打开设置(快捷键Ctrl+,),搜索python.analysis.extraPaths,添加${fileDirname}作为路径项。这样无论打开哪个单个文件,Pylance都会自动将该文件所在目录纳入模块搜索范围。
  • 回退到旧版本Pylance:在VS Code扩展面板找到Pylance,点击右下角齿轮图标选择“安装另一个版本”,选择之前能正常工作的版本(比如2024.4.x系列),等待官方修复后再升级。

后续更新是否会自行修复?

这取决于Pylance团队的处理方向:

  • 如果该问题是新版本的bug(比如意外移除了单个文件场景的路径自动识别),后续版本大概率会修复;
  • 如果是团队有意调整的严谨性优化(比如要求必须明确配置路径或打开文件夹),则可能不会恢复之前的宽松逻辑。可以关注Pylance的官方更新日志,查看是否有同类问题的修复说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:06:02