继前面在Mac上安装了Pytorch后(在Mac中搭建PyTorch网络框架),为方便在本地环境上对部分图像处理的算法进行测试,打算在Mac上安装OpenCV。
看了不少教程,发现有些教程中的命令早已老旧无法运行,有些教程中安装过程太过繁杂,怕步骤太多,安装中出了错会影响之前安装的环境,所以综合之后整理了本篇教程,并分给出了不同情况下的处理办法。
情况零:
若电脑已经安装了Python,可通过以下命令安装OpenCV:
1 | 电脑已安装Python |
测试:
1 | Python 3.7.4 (default, Oct 12 2019, 18:55:28) |
如果没有报错,说明安装成功了。
情况一:
如果在没有安装Python3的情况下安装OpenCV,会自动安装最新的Python版本,并将该版本设置为系统默认Python。
直接运行下面的命令安装OpenCV:
1 | 没有安装Homebrew可以查看:《在Mac中搭建PyTorch网络框架》 |
测试:
1 | Python 3.7.4 (default, Oct 12 2019, 18:55:28) |
如果没有报错,说明安装成功了,恭喜!
情况二:
当Mac中之前已经安装Python 3.6,则在上面的Python3.7的安装过程中会报错。报错的命令忘记截图了,我根据系统的报错,总结了以下解决办法。
注:Mac 默认安装Python2.7,此步骤对Python2.7版本没有影响。
首先删除老版本Python 3.6
1
2
3
4
5
6
7
8
9
10
11
12
131.查看Python版本
python -V
显示:Python 3.6
2.删除Python 3.6 框架
ls /Library/Frameworks/Python.framework/Versions/
显示:3.6
sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.6
3.在应用目录中手动将程序移到废纸篓
或者用以下命令删除
cd /Applications
sudo rm -rf Python\ 3.6/ # Python 3.7存在空格在
'/usr/local/bin'
下,首先罗列出所有需要删除的软连接:1
2
3To list all files that would be deleted:
brew link --overwrite --dry-run python
然后对冲突的文件一一删除(我是一一删除后,然后执行的下面的命令,按理直接运行下面的程序会覆盖原来的,这点需要考证)覆盖之前Python的软连接:
1
2To force the link and overwrite all conflicting files:
brew link --overwrite python修改系统环境变量:
1
vim ~/.bash_profile
- 在
.bash_profile
最后添加如下代码(根据自己的路径来修改)
1
2
3# Setting PATH for Python 3.7
alias python="/usr/local/Cellar/python/3.7.4_1/bin/python3"
alias python2="/usr/bin/python2.7"- 使得环境变量生效:
1
source ~/.bash_profile
- 在
情况三:
如果安装上面教程安装成功了,恭喜你不用再往下面看了,如果没有成功,我们需要手动将OpenCV与系统中Python建立关联。
注意到我们上面使用Homebrew安装了程序,Homebrew安装的程序位置都在该目录下。
1 | /usr/local/Cellar/ |
找到的OpenCV的cv2.***.so
文件,我的.so
文件位置为:
1 | /usr/local/Cellar/opencv/4.1.2/lib/python3.7/site-packages/cv2/python-3.7/cv2.cpython-37m-darwin.so |
下面就是和python3环境关联,进入Python3 的site-packages
文件夹下面和原来上面的so建立一个软链接。
1 | cd /usr/local/lib/python3.7/site-packages |
测试效果:
1 | >> import cv2 |
若出现此情况,则说明安装成功。