已成功安装cv2仍报错No module named 'cv2'的问题求助
解决运行example.py时cv2模块找不到的问题
这种情况几乎都是Python环境不一致导致的——你在Jupyter和终端测试用的Python环境,和运行example.py时用的不是同一个,所以才会出现"能正常导入但脚本报错"的矛盾情况。下面给你一步步排查和解决的方法:
第一步:确认各个环境的Python路径
先在能正常导入cv2的终端里,运行这两个命令,记下输出的路径和版本:# 查看当前终端用的Python路径 which python3 # 查看版本 python3 --version再打开Jupyter Notebook,运行这段代码,也记下路径:
import sys print(sys.executable)最后,看你运行
example.py时用的命令是python example.py还是python3 example.py,对应运行which python或者which python3,对比这几个路径——如果不一样,说明环境不匹配。第二步:让运行脚本的环境安装cv2
如果发现运行脚本的Python环境没装cv2,直接用对应环境的pip安装:# 比如运行脚本用的是python3,就用pip3 pip3 install opencv-python # 如果是虚拟环境,先激活环境再安装 source your_venv/bin/activate # Mac/Linux系统 pip install opencv-python第三步:直接指定正确的Python路径运行脚本
如果你不想切换环境,也可以直接用能导入cv2的Python路径来运行example.py,比如:# 把下面的路径换成你之前记下的能导入cv2的Python路径 /usr/local/bin/python3 example.py额外检查:pip和Python的对应关系
有时候系统里的pip对应Python2,pip3对应Python3,如果你之前用sudo pip install opencv-python装的是Python2的环境,那运行Python3的脚本自然找不到。这种情况下重新用pip3 install opencv-python安装即可。
内容的提问来源于stack exchange,提问作者Rajat saini




