VSCode自动完成功能不适用于从源代码安装的OpenCV

时间:2020-02-27 07:32:02

标签: python python-2.7 visual-studio-code vscode-settings

我只发现了另一个问题,完全没有答案,所以我在这里问。

我正在运行Ubuntu 18.04,VSCode最新版本。

我已经从源代码安装了OpenCV 3.4.9到/ usr / local

当我导入cv2,然后尝试键入“ cv2。”时,VSCode无法自动完成。它提出的唯一建议是“ bootstrap”和“ os”。我对任何其他模块(例如numpy或rospy)的自动完成没有问题,甚至从pip安装OpenCV时也没有问题。看来问题仅在于从源代码安装OpenCV。

我已经尝试了语言服务器以及绝地武士。我也尝试过各种短毛绒。

感谢您的帮助。

3 个答案:

答案 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"

}

希望它能解决您的问题。 :)