LoginSignup
0
1

More than 3 years have passed since last update.

pyenvのPythonにOpnecvが入らなかったから、既存のPythonの方から持ってくる

Posted at

経緯

RaspberryPiの既存のPythonでopencv入れると、/usr/local/lib/python3.5/dist-packages/cv2 の中にcv2.cpython-35m-arm-linux-gnueabihf.so が入るんだけど、pyenvのpython(3.4.1)の中には違うやつが入ってて動かしてみると、色々無いよと言われ一つずつ足りないやつを入れてたけど落ちていない...
て事で、シンボリック貼ればええやんとなった。

環境

RaspberryPi3b+
stretch(Release 9.9)
Python3.5(元々)
Python3.4(pyenv)

導入

まずは既存のpythonの方にopencvを入れる

前処理

$ sudo apt-get install -y cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
$ sudo pip3 install opencv-python
   ・
   ・
   ・
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

なんか、色々怒られた

pip3 install opencv-python

出来た。もうわからん
これで出来なければstack overflow

実行前処理

$ sudo apt-get install -y libcblas-dev libatlas3-base libilmbase12 libopenexr22 libgstreamer1.0-0 libqtgui4 libqttest4-perl

実行

$ python3
>>> import cv2
>>>

通った

pyenvでも使えるようにしよう

まずはシンボリックを貼る ここでcv2.soとすることが大事

ln -s /usr/local/lib/python3.5/dist-packages/cv2/cv2.cpython-35m-arm-linux-gnueabihf.so /home/pi/.pyenv/versions/3.4.1/lib/python3.4/site-packages/cv2.so

あとは、opencv-pythonを入れた際についでに入るsixパッケージなどのpathを追加して再起動
pathの追加の仕方(下の方に書いてる)

$ pyenv global 3.4.1
$ python
>>> import cv2

はい、終わり

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1