我曾经遇到同样的问题,将 Python 语言服务器从 Jedi 改为 Microsoft 或 Pylance 确实解决了这个问题。要做到这一点,请使用 Cntrl + ,
进入设置并搜索 python.languageserver
当我使用您提供的代码并禁用了Python
扩展时,我遇到了与您相同的问题。
由于“转到定义
”功能是由相应的语言服务扩展支持的,建议您检查当前是否可用Python
扩展,并确认所选Python解释器也可用。另外,请尝试重新加载VSCode。
settings.json
文件中添加选项:"python.languageServer" : "Microsoft"
。保存文件。
- 重新启动VS Code。ctrl-P
即可。settings.json
文件的方法(如果您像我一样是新手):打开命令面板并搜索“settings”,然后选择“Preferences: Open Settings (JSON)”。确保您使用正确的解释器,可以让您导入为该解释器安装的第三方包。
但是,如果您正在尝试查找自己模块的定义,请确保您的 PYTHONPATH
设置正确,并且您的模块内有一个空的 __init__.py
文件。
假设您的模块定义在
[project_root]/src/my_library
您在项目根目录下的.env
文件中定义的PYTHONPATH
应包含以下内容:
PYTHONPATH=$PYTHONPATH:./src
[project_root]/src/my_library/__init__.py
。pylance
扩展偏好设置 -> 设置
,搜索 "languageserver",选择 Pylance
关于Python解释器的一些答案在版本1.68上已经过时,因为解释器选择是在启动Jupyter笔记本文件时明确完成的。但我遇到了同样的问题,对我有用的是以下一个或多个步骤 - 不确定哪一个修复了它。
最近,我遇到了一个类似的问题。在我的情况下,这是一个关于 Go 模块的问题。
只需运行 go mod verify
就可以轻松解决。
pylint
。pip install -U pylint --user
v2020.9.114305
,我认为这是最新的版本。 - Mihir