写作背景

之前想在macOS里用一下opencv,于是开始安装opencv-python库。按照惯例使用

pip install opencv-python

命令进行安装,一切正常(似乎)

但在pycharm里选择了python3.9解析器之后无论如何都无法导入cv2模块,提示找不到此模块。这就让我一时迷惑了……

原因分析

现在才发现,原来macOS 11自带了python2.7版本,而且我最早先安装了一次Conda,后来又手动装的python3.9,导致我现在系统里有很多个版本的python解析器,另外,我最后试图分析报错原因的时候才发现,原来我用的pip一直是Conda附带安装好的,其依赖的python解析器也是Conda下面附带的,导致我之前所有的操作都是在搞Conda下面那个旧版本的python解析器,把opencv库都装到这个路径下了,和我用的python3.9毫不相干,相当于目前为止我根本没有装opencv-python……

问题解决

可用pip -V命令查询当前pip所绑定的python解析器,如以下是我问题解决之前的情况,可以发现目前pip绑定的并不是我用的python3.9:

(base) baizihan@baizihandeMacBook-Pro ~ % pip -V
pip 21.0.1 from /Users/baizihan/opt/anaconda3/lib/python3.8/site-packages/pip (python 3.8)
(base) baizihan@baizihandeMacBook-Pro ~ % pip3 -V
pip 21.0.1 from /Users/baizihan/opt/anaconda3/lib/python3.8/site-packages/pip (python 3.8)

可用which命令查询pip和python3.9所在目录(若无则可先安装pip),如:

(base) baizihan@baizihandeMacBook-Pro ~ % which pip
/Users/baizihan/opt/anaconda3/bin/pip
(base) baizihan@baizihandeMacBook-Pro ~ % which pip3
/Users/baizihan/opt/anaconda3/bin/pip3
(base) baizihan@baizihandeMacBook-Pro ~ % which python3.9
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9

接下来就需要修改pip(或pip3,看你用哪个)文件:

cd /Users/baizihan/opt/anaconda3/bin/
vim pip

修改pip文件第一行的python解析器路径为你想用的那个,以下为修改好的效果:

2021-10-03-上午2.28.34-1024x725.png

保存并退出后,pip就与我们想用的python解析器绑定啦~

接下来重新安装opencv库:

pip install opencv-python

之后便可以在pycharm中使用python3.9解析器直接 import cv2 啦。


A Student on the way to full stack of Web3.