自研PyPI库安装后Pylance提示Import "x" could not be resolved报错求助
我开发了一个用于简化工作场景的Python库,已经完成开发流程并通过Twine上传到PyPI。在本地未使用虚拟环境的情况下,用pip install安装后,pip list显示库已经正常安装,但在代码里导入该库时,Pylance抛出如下错误:
Import "x" could not be resolvedPylancereportMissingImports
我确认库的安装路径没问题,试过配置python.analysis.extraPaths但没用;新建另一个库项目测试后,同样出现Pylance完全识别不到已安装库的情况。
核对VS Code的Python解释器
Pylance依赖VS Code选中的Python解释器,可能你装库用的Python解释器和VS Code当前用的不是同一个。打开VS Code左下角的解释器选择框,对比它的路径和你执行pip install时用的Python路径(可以用which python或where python命令查pip对应的解释器路径),确保两者一致。重启Pylance语言服务
按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)调出命令面板,输入Python: Restart Language Server,重启Pylance让它重新扫描已安装的包。检查库的目录结构是否合规
确认你的库是PyPI要求的标准结构:你的库名/ setup.py (或pyproject.toml) x/ __init__.py # 其他模块文件如果缺了
__init__.py,或者包名和你导入的x不匹配,Pylance就识别不了。另外检查setup.py里的packages参数有没有正确包含你的包目录。清除VS Code缓存
关掉VS Code,删掉以下目录的缓存文件:- Windows:
%APPDATA%\Code\Cache、%APPDATA%\Code\CachedData - Mac:
~/Library/Caches/Code、~/Library/Application Support/Code/CachedData - Linux:
~/.config/Code/Cache、~/.config/Code/CachedData
重新打开VS Code再试。
- Windows:
手动指定site-packages路径
如果上面的方法都不行,先通过python -c "import site; print(site.getsitepackages())"拿到你Python解释器的site-packages路径,然后在VS Code的settings.json里添加:"python.analysis.extraPaths": [ "/实际的site-packages路径" ]替换成真实路径后,重启Pylance服务。
内容的提问来源于stack exchange,提问作者Pedro Ferreira

