首页 > 其他分享 >Win7X64下,opencv安装折腾

Win7X64下,opencv安装折腾

时间:2023-01-02 23:24:44浏览次数:64  
标签:01 23 python Win7X64 opencv 虚拟环境 折腾 2023

先说环境:win7X64专业版、python3.6.4

pip安装了pillow,正常可使用

为了不影响原来的环境,新建了一个python虚拟环境,如下:

节选自https://zhuanlan.zhihu.com/p/216157886

在 python3.3 之前,只能通过 virtualenv 创建虚拟环境,首先需要安装 virtualenv

pip install virtualenv
安装完后,在当前目录下创建一个名为 myvenv 的虚拟环境:
virtualenv --no-site-packages myvenv
参数 --no-site-packages 的意思是创建虚拟环境时,不复制主环境中安装的第三方包,也就是创建一个 “干净的” 虚拟环境

virtualenv 还有很多参数,用于不同的使用场景,例如:

  • -p: 用于指定 Python 解析器,就是安装好的 Python 应用程序,默认为当前环境中的 Python
  • --no-pip:不需要安装 pip,默认为安装
  • --clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清楚重建

 

venv 模块

Python3.3 之后,可以用模块 venv 代替 virtualenv 工具,好处是不用单独安装,3.3 及之后的版本,都可以通过安装好的 Python 来创建虚拟环

  • python -m venv myvenv

    可以在当前目录创建一个名为 myvenv 的虚拟环境

    venv 有些参数,不过相比 virtualenv 少了些,这里简单介绍几个:

    • --without-pip: 不需要安装 pip,默认为安装
    • --clear:如果创建虚拟环境的目录已经有了其他虚拟环境,清楚重建

    因为 venv 是依附于一个 Python 解析器创建的,所以不需要指定 Python 解释器版本

    激活

    虚拟环境创建好后,需要激活才能在当前命令行中使用,可以理解成将当前命令行环境中 PATH 变量的值替换掉

    通过 virtualenv 和 模块 venv 创建的虚拟环境,激活方式是一样的,即运行激活脚本

    • Windows 系统中,激活脚本路径是 <myvenv>\Scripts\activate.bat,如果是 powershell 命令行,脚本换成 Activate.ps1 , 注意将 <myvenv>换成你自己的虚拟环境目录
    • Linux 系统中,激活脚本路径是 <myvenv>/bin/activate,默认脚本没有执行权限,要么设置脚本为可执行,要么用 source 命令执行,例如

    $ source myvenv/bin/activate

    激活后,可以在命令行中看到虚拟环境标记,如上图

    打印 PATH,命令如下:

    Linux 下:

    echo $PATH

    Windows 下

    echo %PATH%

    可以看到创建的虚拟环境脚本目录被加载了最前面

    退出

    退出虚拟环境很简单,只需要执行 deactivate 命令就行,这个命令也在虚拟环境的脚本目录下,因为激活时,将脚本目录设置到 PATH 中了,所以可以直接使用

    退出虚拟环境相当于将 PATH 恢复成原来的

 
我的操作如下:
cd \tmp\python\qm
python -m venv env1
dir \tmp\python\qm\env1

\tmp\python\qm\env1 的目录

2023/01/01 13:01 <DIR> .
2023/01/01 13:01 <DIR> ..
2023/01/01 12:55 <DIR> Include
2023/01/01 12:56 <DIR> Lib
2023/01/01 13:01 61 pip-selfcheck.json
2023/01/01 12:55 80 pyvenv.cfg
2023/01/01 16:05 <DIR> Scripts
2 个文件 141 字节
在Scripts文件夹里,有一个activate.bat,运行后可激活环境,有一个deactivate.bat,运行后可退出环境。

pip install opencv-python的时候,各种报错

大概提示是需要Visual Studio 2019/2022,CMAKE编译过不去之类的

于是按网上的pip install scikit-build cmake,然后再次pip install  

总之都不管用。

最后的办法:

去官网:https://opencv.org,考虑到我的版本较老,选了一个4.2.0下载了,双击提示解压,原来是个自解压文件。

\opencv 的目录

2023/01/01  23:54    <DIR>          .
2023/01/01  23:54    <DIR>          ..
2023/01/01  23:52    <DIR>          build
2019/12/20  22:28             2,331 LICENSE.txt
2019/12/20  22:28            27,913 LICENSE_FFMPEG.txt
2019/12/20  22:28               686 README.md.txt
2023/01/01  23:52    <DIR>          sources
               3 个文件         30,930 字节

\opencv>cd build

\opencv\build>dir
\opencv\build 的目录

2023/01/01  23:52    <DIR>          .
2023/01/01  23:52    <DIR>          ..
2023/01/01  23:52    <DIR>          bin
2023/01/01  23:52    <DIR>          etc
2023/01/01  23:52    <DIR>          include
2023/01/01  23:52    <DIR>          java
2019/12/13  13:32             2,331 LICENSE
2019/12/20  22:00               433 OpenCVConfig-version.cmake
2019/12/20  22:00             6,509 OpenCVConfig.cmake
2023/01/01  23:52    <DIR>          python
2019/12/20  21:59               781 setup_vars_opencv4.cmd
2023/01/01  23:52    <DIR>          x64
               4 个文件         10,054 字节
运行setup_vars_opencv4.cmd后,再运行python,就可以import cv2了。
最后写一个批处理,把新建的虚拟环境和cv2结合起来。
 D:\tmp\python\qm 的目录

2023/01/02  00:13    <DIR>          .
2023/01/02  00:13    <DIR>          ..
2023/01/01  15:05             2,776 boat_a.png
2023/01/01  14:45                 0 prj1.py
2023/01/01  13:01    <DIR>          qmenv
2023/01/02  00:16               183 st_env1.bat
               3 个文件          2,959 字节
 
D:\tmp\python\qm>type st_env1.bat
@echo off
echo st_env1.bat,这个环境使用cv2和.\qmenv\下面安装的包
d:
cd \Green\opencv\build
call setup_vars_opencv4
cd \tmp\python\qm\qmenv\Scripts
call activate.bat
cd ..\..

切到qm目录下,直接st_env1.bat就可以进入有opencv的虚拟环境了。

 

标签:01,23,python,Win7X64,opencv,虚拟环境,折腾,2023
From: https://www.cnblogs.com/argent/p/17020825.html

相关文章

  • OpenCV+yolov3实现目标检测(C++,Python)
    OpenCV+yolov3实现目标检测(C++,Python)  目标检测算法主要分为两类:一类是基于RegionProposal(候选区域)的算法,如R-CNN系算法(R-CNN,FastR-CNN,FasterR-CNN),它们是two-st......
  • OpenCV常见的优化方法和技巧总结
    OpenCV常见的优化方法和技巧总结目录​​OpenCV常见的优化方法和技巧总结​​​​ 一、OpenCV常见的优化方法总结​​​​1.1cv::imread()设置reduce模式:​​​​1.2查表......
  • OpenCV调用TensorFlow预训练模型
    OpenCV调用TensorFlow预训练模型   强大OpenCV从自OpenCV3.1版以来,dnn模块一直是opencv_contrib库的一部分,在3.3版中,它被提到了主仓库中。新版OpenCVdnn模块目前支......
  • OpenCV android sdk配置OpenCV android NDK开发实例
    OpenCVandroidsdk配置OpenCVandroidNDK开发实例    在Android应用中调用OpenCV进行图像处理的方法有很多种,考虑到性能问题,本人推荐使用NDK进行开发,毕竟C/C++要......
  • 基于OpenCV的图像梯度与边缘检测!
     Datawhale干货 作者:姚童,Datawhale优秀学习者,华北电力大学严格的说,梯度计算需要求导数。但是图像梯度的计算,是通过计算像素值的差得到梯度的近似值。图像梯度表示的是图像......
  • 基于OpenCV的图像分割处理!
     Datawhale干货 作者:姚童,Datawhale优秀学习者,华北电力大学图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和......
  • 基于Ubuntu20.04+OpenCV4+ROS+ORB SLAM3调试Realsense D455
    编译中会遇到数不胜数的奇怪问题,更多没有提及的问题需要自行查阅解决,记录的可能欢迎纠正与补充本文编译环境基于此前文章进行,重复部分下文不再赘述,如想了解环境编译细节,可......
  • Ubuntu18.04安装opencv和opencv_contrib1.undefined reference to `TIFFReadDirectory
    Ubuntu18.04安装opencv和opencv_contrib目录​​Ubuntu18.04安装opencv和opencv_contrib​​​​1.版本​​​​2.源码编译和安装opencv和opencv_contrib​​​​(1)下载o......
  • OpenCV 4.5.3发布,快来看看哦!!
    本次发布亮点Highgui:增加了对多个highgui后端的支持;Videoio:使用FFmpeg实现硬件加速编码解码;Video:DaSiamRPN跟踪器使用OpenCV算法实现;DNN模块:支持OpenVINO2021.4发布的DNN......
  • 折腾了我一周,原来Netty网络编程就是这么个破玩意儿!!!
    1、阻塞阻塞模式下,相关方法都会导致线程暂停ServerSocketChannel.accept会在没有连接建立时让线程暂停SocketChannel.read会在通道中没有数据可读时让线程暂停阻塞......