写作背景
之前想在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解析器路径为你想用的那个,以下为修改好的效果:
保存并退出后,pip就与我们想用的python解析器绑定啦~
接下来重新安装opencv库:
pip install opencv-python
之后便可以在pycharm中使用python3.9解析器直接 import cv2 啦。
Comments 1 条评论
博客作者 Ina Cantillo
I truly appreciate this post. I¦ve been looking everywhere for this! Thank goodness I found it on Bing. You’ve made my day! Thx again