在 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.18 和 OpenCV 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。
解决办法:
- 首先,使用管理员权限运行 PowerShell。
- 输入:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
- 按 y 确认修改安全策略
- 重启 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
版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。