微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cv2的自动完成功能在vscode中无法正常工作

如何解决cv2的自动完成功能在vscode中无法正常工作

我试图弄清楚cv2软件包的自动完成功能为何无法正常工作。以下是一些有关我正在使用的问题和版本以及我试图解决的信息:

VS代码中的自动完成

enter image description here

版本信息

  • opencv-python: 4.4.0.46
  • 绝地武士:0.17.2
  • numpy: 1.19.4

以上所有3个软件包都安装在C:\...\anaconda3\lib\site-packages

  • Visual Studio代码 1.50.1
  • Python扩展: v2020.10.332292344
  • Python版本: 3.8.3

我的尝试

  • 我检查了我的软件包是否安装在认位置(由this question建议)没有成功。它们安装在认位置,但仍无法正常工作。

  • 按照this issue的建议,命令行print(jedi.Script("import cv2\ncv2.").completions())在PowerShell中执行时会自动为我自动完成,但是在VS Code中仍然不起作用。结果如下:

PS:我限制了输出,因为问题对字符数有所限制,不能全部使用。

>>> print(jedi.Script("import cv2\ncv2.").completions())
<stdin>:1: DeprecationWarning: Deprecated since version 0.16.0. Use Script(...).complete instead.
[<Completion: >,<Completion: absdiff>,<Completion: ACCESS_FAST>,<Completion: ACCESS_MASK>,<Completion: ACCESS_READ>,<Completion: ACCESS_RW>,<Completion: ACCESS_WRITE>,<Completion: accumulate>,<Completion: accumulateProduct>,<Completion: accumulateSquare>,<Completion: accumulateWeighted>,<Completion: ADAPTIVE_THRESH_GAUSSIAN_C>,<Completion: ADAPTIVE_THRESH_MEAN_C>,<Completion: adaptiveThreshold>,<Completion: add>,<Completion: addText>,<Completion: addWeighted>,<Completion: AffineTransformer>,<Completion: AGAST_FEATURE_DETECTOR_AGAST_5_8>,<Completion: AGAST_FEATURE_DETECTOR_AGAST_7_12D>,<Completion: AGAST_FEATURE_DETECTOR_AGAST_7_12S>,<Completion: AGAST_FEATURE_DETECTOR_NONMAX_SUPPRESSION>,<Completion: AGAST_FEATURE_DETECTOR_OAST_9_16>,<Completion: AGAST_FEATURE_DETECTOR_THRESHOLD>,<Completion: AgastFeatureDetector>,<Completion: AgastFeatureDetector_AGAST_5_8>,<Completion: AgastFeatureDetector_AGAST_7_12d>,<Completion: AgastFeatureDetector_AGAST_7_12s>,<Completion: AgastFeatureDetector_create>,<Completion: AgastFeatureDetector_NONMAX_SUPPRESSION>,<Completion: AgastFeatureDetector_OAST_9_16>,... 
  • 已尝试将numpy软件包更新到最新版本(1.19),并且还尝试使用旧版本(1.10)。没有成功。

如果有人可以给我一个提示,我将很高兴,甚至可以指出问题的真正出处(VS代码,python扩展,jedi软件包)。

最后一条信息:numpy自动完成正常工作。

解决方法

按照Paul McWhorter的说明,我在设置Jetson Nano 2GB时遇到了同样的问题。卸载python3-opencv软件包后,这会破坏cv2的完成。

我追踪了一下,发现绝地找不到图书馆。我的解决方案是创建指向所要查找位置的链接。我认为有比我的方法更好的解决方法。

cd /usr/lib/python3.6/dist-packages/cv2;ln -s python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so ./__init__.cpython-36m-aarch64-linux-gnu.so

很可能需要更改路径和命令语法以匹配您安装的python版本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。