logo サブスレッド

Python 3.6 de OpenCV on Raspberry Pi

「ドラえも〜ん、Raspberry Pi の Python 3.6 で OpenCV がインストールできないよ〜」

誰がドラえもんだ誰が

というわけでどうしてハマったかをちょっとメモ。

クライアントから提供された Raspbian 9.4 環境に pyenv でインストールされていた Python 3.6.5 でvirtualenvを作っていたときのお話です。

pip install opencv-python

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting opencv-python
  Could not find a version that satisfies the requirement opencv-python (from versions: )
No matching distribution found for opencv-python

と言われるので https://pypi.org/simplehttps://www.piwheels.org/simple を見に行きました。 Raspberry Pi 3 は armv7l なので(uname -a で確認) opencv-python と opencv-python-armv7l を見に行きます。

Python3.6 を示す cp36 で armv7l なバイナリがない…
そりゃ pip でインストールできないわけだ。
Berry Conda を入れて conda-forge opencv という方法もあるらしいけど、Python入れ直すなら pyenv で Python 3.5 入れたほうが早いのでは感。

ビルドする

virtualenv環境下なのでうまいこと必要なファイルを見つけてくれないようで cv2 バインディング(.so)がビルドされないようです。 (と担当者が言ってました)
pyenv global した 3.6.5 に cv2.*.so をインストールさせて site-packages/cv2 一式を virtualenv の site-packages にコピーすればいい気もするけれど、、
そうこう言ってるうちに Python 3.5 環境ができあがったので

pip install opencv-python

で We got kotonaki.(完)

現在の位置:サブスレッド ホーム > 技術ブログ > Python 3.6 de OpenCV on Raspberry Pi