cv2 的自动完成功能在 vscode 中无法正常工作
Autocomplete for cv2 not working properly in vscode
我想弄清楚为什么 cv2
包的自动完成功能无法正常工作。下面是关于我正在使用的问题和版本以及我尝试解决它的一些信息:
VS Code 中的自动完成
版本信息
- 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 建议没有成功。它们安装在默认位置,但仍然无法正常工作。
当我在 PowerShell 中执行它时,命令行 print(jedi.Script("import cv2\ncv2.").completions())
为我带来了正确的自动完成功能,正如 this issue 中所建议的那样,但在 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 Code,python 扩展,jedi 包)。
最后一条信息:numpy 自动完成功能正常。
我 运行 在设置我的 Jetson Nano 2GB 时遇到了同样的问题,按照 Paul McWhorter 的说明进行操作。卸载 python3-opencv 包后,这会破坏 cv2 完成。
我运行一跟踪,发现jedi已经找不到库了。我的解决方案是创建一个 link 到它正在寻找的位置。我认为有比我的方法更好的方法来解决这个问题。
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 版本。
我想弄清楚为什么 cv2
包的自动完成功能无法正常工作。下面是关于我正在使用的问题和版本以及我尝试解决它的一些信息:
VS Code 中的自动完成
版本信息
- 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 建议没有成功。它们安装在默认位置,但仍然无法正常工作。
当我在 PowerShell 中执行它时,命令行
print(jedi.Script("import cv2\ncv2.").completions())
为我带来了正确的自动完成功能,正如 this issue 中所建议的那样,但在 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 Code,python 扩展,jedi 包)。
最后一条信息:numpy 自动完成功能正常。
我 运行 在设置我的 Jetson Nano 2GB 时遇到了同样的问题,按照 Paul McWhorter 的说明进行操作。卸载 python3-opencv 包后,这会破坏 cv2 完成。
我运行一跟踪,发现jedi已经找不到库了。我的解决方案是创建一个 link 到它正在寻找的位置。我认为有比我的方法更好的方法来解决这个问题。
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 版本。