我不知道这是否是主题,但我在这个网站上看到了一些类似的问题。
问题很简单,最近我发现Visual Studio Code根本无法访问
cv2
的任何成员。属性名称都是白色的,将鼠标悬停在它们上方会显示“(function) {name}: Any”,它不会自动完成。
没有红波信号表明
cv2
导入解决失败。将鼠标悬停在 cv2 上显示:“OpenCV Python 二进制扩展加载器”。
截图:
代码工作正常,这个问题与代码无关。
我已经尝试过:
from cv2 import cv2
,第二个cv2
是白色的。
将
python.linting.pylintArgs": ["--generate-members"]
添加到settings.json
,文字变暗,将鼠标悬停在其上显示:“未知配置设置”。
在命令面板中尝试过
Python: Select Linter
:没有找到这样的选项。
我安装了许多 VS Code 扩展。我已经选择了与安装了所有外部库的主解释器相同的解释器版本。
如何修复这个错误?
以前 Pylint 并未被列为独立扩展,但我已经安装了许多 Python 扩展包,它们无疑都包含了它。我已在保存脚本的目录中运行
pylint --generate-rcfile > ./.pylintrc
,并将 Pylint 安装为独立扩展,然后重新启动编辑器。问题依然存在。
这个bug确实很有弹性,我刚刚采取了严厉的措施。
我刚刚通过“C:\Program Files\Microsoft VS Code\unins000.exe”完全卸载了 Visual Studio Code,然后我删除了 C:\Users\Xeni.vscode 中保留扩展的所有内容,有效地卸载了所有扩展。我还删除了 C:\Users\Xeni\AppData\Roaming\Code\ 中的所有内容,除了 C:\Users\Xeni\AppData\Roaming\Code\User\History 文件夹和 C:\Users\Xeni\AppData\Roaming\代码\用户\Settings.json.
完成完全重置后,删除所有可能导致错误的文件。然后我下载了最新的 Visual Studio Code 安装程序并安装了它。
然后我刚刚安装了 3 个扩展:来自 Microsoft 的 Black Formatter v2023.6.0、来自 Microsoft 的 Python v2023.22.1、Sourcery v1.15.0、Pylance v2023.12.1 似乎已预装。
无论如何,这四个扩展是当前安装中唯一的扩展,但是在设置并重新加载 Visual Studio Code 后,我打开了相同的文件,并且相同的错误仍然存在......
全部文件删除并重新安装并不能解决问题。我想不出其他解决方案。
无论出于何种原因,我在网上找到的所有解决方案都不起作用。
更改
settings.json
不起作用,切换 linter 不起作用,没有这样的选项。即使完全卸载 Visual Studio Code 并删除除设置和用户历史记录之外的所有文件,然后重新安装 VS Code 和扩展也无法解决问题。
所以我排除了不可能的原因。这意味着一定是其他原因造成的。
我当然已经安装了OpenCV,并且我的代码在控制台中工作正常,并且这个解释器与Visual Studio Code使用的解释器相同。
我只是尝试通过
pip3.10 install opencv-python --upgrade
更新cv2版本,这卸载了opencv-python-4.7.0.72并安装了opencv-python-4.9.0.80。然后我重新加载了 Visual Studio Code。
这很有效。这解决了问题,将鼠标悬停在函数名称上会显示它们的参数和返回类型,并且还有自动完成功能。
我不知道为什么这会起作用。我会将这个答案留给遇到同样问题的任何人。