在 Windows 中搭建 OpenCV 的 Python 开发环境

一. 安装Anaconda

 
Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。
 

1. 下载安装文件

 
官网下载太慢,好在有 清华大学镜像站https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
找到近期的版本直接下载即可。
 

2. 开始安装

 
直接双击开始安装,引用另一位博主的安装截图:
 

 

 

 

这里最好不要安装到系统盘,Anaconda还是挺吃磁盘的,最好安装到其他分区,路径中不要含有中文。
我自己实际的安装路径是:E:\runtime\anaconda3

 

第一个选框:在开始菜单中创建Anaconda的快捷方式,必须选上,非常有用;
第二个选框:将Anaconda中的Python注册为系统默认的Python环境,选上;
第三个选框:完成后清除包缓存,选上,节省磁盘空间;

 
再然后就等待安装完成吧,时间还是挺长的。
 

3. 设置环境变量

 
将实际安装路径添加到【Path】中,下面是我的本地路径:

E:\runtime\anaconda3
E:\runtime\anaconda3\Scripts 
E:\runtime\anaconda3\Library\mingw-w64\bin
E:\runtime\anaconda3\Library\usr\bin 
E:\runtime\anaconda3\Library\bin

 

4. 设置镜像地址和虚拟环境主目录位置

 
在使用 conda 安装包时,默认情况会去外网下载,速度非常慢,改成国内的镜像站就好多了。
另外还有必要对 conda create 创建虚拟环境的主目录位置进行定义,否则都扔到系统盘里就麻烦了。
 
开始 > 运行:%HOMEPATH%,或者在资源管理器的地址栏直接输入,都可以进入到当前用户的主目录。
比如:C:\Users\hello
 
在该目录内找一个名为:.condarc 的文件,没有的话可以手动创建一个,然后设置内容:

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  - defaults
show_channel_urls: true
envs_dirs:
  - E:\Data_anaconda2023\envs

保存关闭即可。
 

5. 顺手配置pip的镜像

 
开始 > 运行:%APPDATA%,或者在资源管理器的地址栏直接输入,都可以进入到当前用户的应用数据目录。
比如:C:\Users\hello\AppData\Roaming
 
在该目录内创建一个文件夹:pip,然后在这个文件夹内创建一个文件:pip.ini,并设置内容如下:

[global]
time-out=60
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=tsinghua.edu.cn

保存关闭即可。
 

二. 使用Anaconda

 
安装好之后,开始菜单里的快捷方式:

红框那个就是Anaconda的终端工具,平时就可以利用它来和Anaconda来打交道。
这里最好使用管理员权限运行终端,否则可能会由于目录权限不够造成创建的虚拟环境被打发到系统盘。

这就是刚打开终端的简陋样子。
左边括号里的 base,意思是当前使用的是默认的 base 虚拟环境。

 

1. 查看当前Anaconda的版本:

2. 查看当前Anaconda的配置信息:

3. 查看当前的虚拟环境列表:

第一个 base 是默认的主环境;
下面的 opencv 是我之前创建的虚拟环境。
带 *(星号) 的表示当前被激活的环境。

4. 创建新环境方法:

conda create -n myenv python=3.8

其中的 **myenv **就是新环境的名称,后面可以指定 python 的版本。
 

5. 激活指定的虚拟环境:

conda activate opencv

再次使用 conda env list 查看时,就会发现已经切换到 opencv 环境,同时命令提示符前面的括号里,也变成了 opencv。
 

6. 删除指定的虚拟环境:

conda env remove -n env_name

 

7. 查看当前环境中已安装的包:

conda list

 

8. 安装新包:

conda install package_name

 

9. 删除已安装的包:

conda uninstall package_name

 

三. 安装OpenCV

 
先说结论:经反复测试确定:Python 3.8.18OpenCV 4.5.5 版本可以正常运行。

我的虚拟环境安装的Python版本就是3.8:

所以使用下面的方式安装最新版本的OpenCV后,在py文件中会提示import的cv2包找不到:

conda install opencv

应该安装指定版本,比如:4.5.5:

conda install opencv==4.5.5

 

四. 在VSCode中引用OpenCV

 

1. 创建测试文件:

 

#ver.py
import cv2
print(cv2.__version__)

 

2. 设置VSCode中的Python虚拟环境:

 
使用 CTRL + shift + p 组合键,打开VSCode的交互命令面板,输入 python,从下拉列表中选择:Python:选择解释器

点击后,再从列表中选择之前创建的虚拟环境即可。
 

3. 在专用终端中运行Python文件:

 
终端输出:4.5.5

全部安装成功,开撸OpenCV!!!
 

五. 常见问题

 

1. activate出错

 
错误描述:

usage: conda-script.py [-h] [-v] [--no-plugins] [-V] COMMAND ... conda-script.py:
error: argument COMMAND: invalid choice: 'activate'
(choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'content-trust', 'doctor', 'repoquery', 'env')

 
解决办法:
conda init powershell
 

2. 无法加载文件

 
错误描述:

. : 无法加载文件 D:\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅
https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

 
解决办法:

  1. 首先,使用管理员权限运行 PowerShell
  2. 输入:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  3. y 确认修改安全策略
  4. 重启 VSCode 即可。
     

3. 提示:numpy.ndarray size changed

 
错误描述:

ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

 
解决办法:
使用如下命令将numpy升级到最新版即可:
pip install --upgrade numpy

posted @ 2023-12-22 18:04  网无忌  阅读(551)  评论(0编辑  收藏  举报