ラズパイ4にopencvやnumpy、tensorflow、keras、keras-yolo3等を入れるのが大変だったので一番はまったところだけメモ

ラズパイ4でpythonを使って物体検出やるのにopencv入れたり色々入れるのが大変でめちゃくちゃはまったのでもっともはまった所だけメモ
というのもハマりすぎてどんなコマンド打ったか覚えていられないくらいハマって
tensorflowとかどうやって入れたか忘れました・・・
中でもエラーをググってもそれらしき解決法にたどり着くまでが一番厳しかったopencvの入れ方をメモ

まず、基本、apt-getでインストールできるのはpipではなくapt-getでインストールした方がはまらないと思われます。
pip3でインストールしようとして本当にはまったので。

一番参考になったのはここ
https://qiita.com/XM03/items/48463fd910470b226f22

インストールしようとすると下記エラーが出る。

ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8
sudo apt-get install liblapack-dev libcblas-dev libatlas-dev libatlas-base-dev libjasper-dev gstreamer1.0-plugins-base libqt4-test
sudo apt-get install libqtgui4
sudo apt-get install python3-pyqt5

pip3 install opencv-python
pip3 install opencv-contrib-python
pip3 install numpy

実行するユーザーのホームで

vim .bashrc
export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 #追加

source .bashrc
$ python3
>>> import cv2
>>> cv2.__version__
'バージョンが表示されればok'

keras-yolo3を入れる時に下記がないとうまくいかなかったはず

sudo apt-get install python3-h5py

ちょっと上記だけだとうまく行かない可能性もありますが、エラーを解読してググってなんとかしてください。

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

このエラーの対策が一番はまるのでここだけ抑えておけばいいかなと思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする