Help us understand the problem. What is going on with this article?

ラズパイでpython3にopencvを入れたらエラーが出た【対処法】

opencvをインストールもアンインストールも上手く出来ず困っていたところなんとかインストールすることが出来たので,経緯を書きます。

エラー状況

pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/cv2/__init__.py", line 3, in <module>
    from .cv2 import *
ImportError: /home/pi/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8

opencvの入れ方

まずRaspberry Pi + Python 3 に OpenCV 3 をなるべく簡単にインストールするをもとに

$ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
$ sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install libjasper-dev

によりopencvで用いるライブラリをインストールします。
ここでsudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103はバージョンにより変更があるようで
エラーが出る場合はsudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-***の***を変えると突破できるかもしれません。

次に

sudo pip3 --default-timeout=1000 install opencv-python

によりopencvを入れます。

この状態で実行すると上記エラーが出てしまいました

エラーの突破方法

こちらで同じエラーがあったので
張ってあったリンクの先を実行しました。
まずターミナルでこちらを実行

LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1

次にvimで編集

vim.tiny .bashrc
export LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 #この一文を追加

vimはaで編集モードESCからの:wqで保存して終了です。
ミスしたらESCからの:q!で保存せず終了。

最後に

source .bashrc

で適用させます

確認してみます

$ python3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.1.1'

たしかにインストール出来ています。

XM03
チラ裏日記帳
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした