我只发现了另一个问题,完全没有答案,所以我在这里问。
我正在运行Ubuntu 18.04,VSCode最新版本。
我已经从源代码安装了OpenCV 3.4.9到/ usr / local
当我导入cv2,然后尝试键入“ cv2。”时,VSCode无法自动完成。它提出的唯一建议是“ bootstrap”和“ os”。我对任何其他模块(例如numpy或rospy)的自动完成没有问题,甚至从pip安装OpenCV时也没有问题。看来问题仅在于从源代码安装OpenCV。
我已经尝试了语言服务器以及绝地武士。我也尝试过各种短毛绒。
感谢您的帮助。
答案 0 :(得分:2)
我遇到了同样的问题。希望对您有帮助
这是因为该软件包不是安装在通常的位置,而是安装在自定义的位置。可以通过一些配置更改来解决此问题。配置 settings.json 使其包含自定义位置,以使自动补全功能起作用。将路径添加到python.autoComplete.extraPaths
第1步:确定自定义库/模块的位置。
第2步:在“用户设置”或“工作区设置”文件中进行必要的更改。
这是“用户设置”中的示例条目(提及模块的确切位置)
"C:/Program Files (x86)/---/---",
"C:/Program Files (x86)/---/---/lib" ]
答案 1 :(得分:0)
对于Ubuntu 20.04和手动安装OpenCV4,要添加到extraPaths的python库路径为“ /usr/local/lib/python3.8/dist-packages/cv2/python-3.8”。假设在cmake期间使用了-D CMAKE_INSTALL_PREFIX=/usr/local
例如:“ settings.json”(VScode)
{
"python.analysis.memory.keepLibraryAst": true,
"python.defaultInterpreterPath": "/usr/bin/python3",
"python.autoComplete.extraPaths": [
"/usr/local/lib/python3.8/dist-packages/cv2/python-3.8"
]}
答案 2 :(得分:0)
@Karthik S 非常有帮助,但我仍然无法使智能感知工作;添加
"python.jediEnabled": false,
帮我解决了问题;
总结一下我的 settings.json 文件看起来像这样:
{
"python.analysis.memory.keepLibraryAst": true,
"python.defaultInterpreterPath": "/usr/bin/python3",
"python.jediEnabled": false,
"python.autoComplete.extraPaths": [
"/usr/local/lib/python3.8/dist-packages/cv2/python-3.8"
],
"python.languageServer": "Microsoft"
}
希望它能解决您的问题。 :)