Ubuntu20.04下使用vscode + Python不能补全OpenCV的问题

vscode是一个很棒的集成开发平台,作为开发人员得心称手的工具。某一天突然不能自动补全以及不能查看声明定义的功能实在让人难以接受,难道要凭记忆去编程吗?所以这个问题必须要解决。

 

我主要遇到的是Python下加载OpenCV模块后不能自动补全以及查看声明定义,但是模块还是可以加载成功的。原以为是个简单的问题,想在立马在网上搜索解决,结果在网上搜了半天也没找到有效的解决方法。于是只能自己思考原因了。

 

在vscode 中Python加载其他模块,如numpy是完全正常的,但是加载OpenCV却出现了以上问题,说明是加载OpenCV时和某个地方冲突了,由于我的电脑安装了很多软件,其中有一些软件就自带OpenCV,还有包括虚拟环境miniconda之类的。应该是加载OpenCV时造成了冲突。

 

刚用vscode不久,没太关注在打开项目时自动生成的那个.vscode文件夹里面的文件是什么意思。问题出现后,发现里面有一个setting.json,应该是vscode加载项目时用于设置相关环境的文件。我估计很多人一提到这个文件就应该知道它的作用,但是在遇到环境配置相关的问题后就容易忽略去在这个文件中去寻找问题。

 

我发现我之前安装的openvino中关于OpenCV的包目录也被加载了,因为之前为了方便我在bashrc里面添加了openvino的环境变量。在vscode setting.json文件中就存在以下内容:

"/opt/intel/openvino_2021/python/python3.8",
        "/opt/intel/openvino_2021/python/python3",
      "/opt/intel/openvino_2021/deployment_tools/tools/post_training_optimization_toolkit",
        "/opt/intel/openvino_2021/deployment_tools/open_model_zoo/tools/accuracy_checker",
        "/opt/intel/openvino_2021/deployment_tools/model_optimizer",
        "/opt/intel/openvino_2021/data_processing/dl_streamer/python",
        "/opt/intel/openvino_2021/data_processing/gstreamer/lib/python3.8/site-packages",

原因就是加载OpenCV的环境冲突了,在setting.json 中把openvino相关的信息删除就可以了。

或者在bashrc里面把openvino的环境变量屏蔽,然后在使用vscode新建下一个项目时就不会加载了。

说道这里,很多类似的问题发生时也要记得去setting.json里面看看,说不定就找到了解决方案。

 

你可能感兴趣的:(编程问题,vscode,opencv,开发平台)