树莓派3b+ 安装Python3.7+opencv 遇到的 ImportError: /usr/local/lib/python3.7/:undefined symbol: __解决

一、Python3.7

首先输入

 Python

查看树莓派Python版本,我的是2.7,所以我删掉了(这个地方暂时不知道删掉是不是必须的,但是我先卸掉了)
1.卸载2.7

sudo apt-get autoremove python2.7

2.安装Python3.7

sudo ln -s /usr/bin/python3.7 /usr/bin/python
#安装pip3
sudo ln -s /usr/bin/pip3 /usr/bin/pip

二、opencv2

  • 使用 pip 直接安装:sudo pip3 install opencv-python
  • 此时会缺少依赖包,安装依赖库
sudo apt-get update #安装依赖库
 
sudo apt-get install libhdf5-dev
 
sudo apt-get install libatlas-base-dev
 
sudo apt-get install libjasper-dev
 
sudo apt-get install libqt4-test
 
sudo apt-get install libqtgui4
  
  • 检查是否安装成功
python3
 
import cv2 # 检查导入成功

在这里插入图片描述

这样的话,就显示成功,可以退出了。
但我在此之前出现错误
** ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8**
在这里插入图片描述

解决方案:
由于最新的OpenCV4不支持Pi,故需要卸载 ,重新安装OpenCV3.4.6.27

  • 卸载:pip3 uninstall opencv-python

  • 重新安装:pip3 install opencv-python==3.4.6.27

在这里插入图片描述

ok,这样就成功了。

参考链接:opencv

ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8

你可能感兴趣的:(树莓派)