Python配置opencv库以及关于虚拟环境的思考

整理一下看到的python配置opencv库的方法

1.如果用了特定编译器,比如Pycharm,那么可从自带的库中搜索加入(没试),好像需要什么镜像才能导入,具体方法可自行查询。

Python配置opencv库以及关于虚拟环境的思考_第1张图片

2.官网下载opencv,本地安装,参考 Win10+OpenCV4.6.0之开发环境(VS2022)配置入门_来灵的博客-CSDN博客,然后根据Pycharm安装opencv的几种办法(windows下)_WderFour的博客-CSDN博客_opencv pycharm的第二个方法:

1)先下载win版本的opencv并extract,然后在opencv\build\python\cv2下选择对应python版本文件夹下(比如我的是python-3.7)的 .pyd文件(cv2.cp37-win_amd64.pyd)。
2)将该文件复制到你要安装的环境下的 Lib\site-packages路径下(G:\software_Anaconda\Anaconda3\envs\tensorflow\Lib\site-packages),重命名为 cv2.pyd
3)在Pycharm相应的解释器下就可以使用opencv了

根据在python中配置opencv库,使用pycharm环境 - 腾讯云开发者社区-腾讯云 (tencent.com)可以发现即使没有编译器使用cmd也一样可以完成编程过程。先记住这句话。

3.还是这篇文章Pycharm安装opencv的几种办法(windows下)_WderFour的博客-CSDN博客_opencv pycharm的方法4,需要注意的是,看pip安装OpenCV教程(简单步骤)基于python_Helloworld-睖的博客-CSDN博客_pip安装opencv这篇文章,并没有提前下载,所以install的时候会出现下载进度条。以及,后者打开方式是直接进到“Scripts”进行pip。

因为想用虚拟环境,参考(2条消息) Pycharm虚拟环境中Virtualenv的作用以及配置_Tom0414的博客-CSDN博客_pycharm virtualenv,通过pycharm创建虚拟环境,基础解释器是python3.6(参考这篇博客,这里是匹配手里的代码用的3.6.8版本)。

Python配置opencv库以及关于虚拟环境的思考_第2张图片

根据后者博客在虚拟环境的Scripts中pip,但是发现opencv还是出现在了python3.6解释器里面,而虚拟环境的解释器里没有。

Python配置opencv库以及关于虚拟环境的思考_第3张图片

Python配置opencv库以及关于虚拟环境的思考_第4张图片

考虑是不是只有根据前者博客,在激活虚拟环境之后,再进行pip才能只针对虚拟环境的解释器添加库包。参考cmd进入pycharm所创建的虚拟环境_莫逸风的博客-CSDN博客_cmd进入虚拟环境。

进入虚拟环境之后,再次pip。没有和全局的解释器一样拥有两个opencv库,成功!

Python配置opencv库以及关于虚拟环境的思考_第5张图片

但是此时突然发现即使不激活,在Scripts中pip的话库依然只是单独加到了虚拟环境里,没有像前面那样放到了全局python3.6里。大概是因为前面试验的时候,根据博客写的shift后右键用命令行打开,但是电脑里只有Powershell(自行查询这个和cmd的区别),因为Powershell不支持activate,我才改用了cmd。现在想来同样在Scripts中pip,一个加到了全局一个加到了局部虚拟环境,这种区别应该是Powershell和cmd的差异引起的。但是为了保险起见,还是尽量用cmd,以及针对虚拟环境添加所需库的时候,先激活。

在pycharm创建虚拟环境pythonProjects5时,勾选第一个框:继承全局站点软件包,5就会拥有python3.6的两个opencv库,对比上面的test虚拟环境,不继承就是光秃秃的一个额外的库也没有,没有激活(前面没有虚拟环境名称的括号提示),添加了requests库,此时5中有了额外添加的requests库,而全局库中并没有变化。

Python配置opencv库以及关于虚拟环境的思考_第6张图片

Python配置opencv库以及关于虚拟环境的思考_第7张图片

 Python配置opencv库以及关于虚拟环境的思考_第8张图片

最后,博客(2条消息) pip安装包后在pycharm中无法导入,更改python解释器路径后文件夹变红色,pip的正确使用方法等。_看山_的博客-CSDN博客_pycharm的venv是红色的写到:在cmd中下载pip和在pycharm的package中安装pip还是有一定的区别,前者会全部在本地的python解释器中,后者下载的包只能在当前工程中使用,以后新建工程后如果用到其中的一些包还是需要重新下载。

总结:

  1. 采用cmd中pip的方法最简便易懂;
  2. 用cmd在虚拟环境的Scripts中进行pip的时候,可以不用激活虚拟环境,但是为了以防万一还是养成好习惯。
  3. 虚拟环境中加入库删除库不影响全局库的变化,创建虚拟环境可以选择继不继承全局库。因此对于经常用到的库,可以选择加入全局库,这样创建新的虚拟环境的时候,可以选择继承全局库,再根据项目的实际需要,增添额外所需库。

你可能感兴趣的:(python,pycharm,opencv)