LoginSignup
1
0

More than 3 years have passed since last update.

pyrealsense2をMacのpyenv,pipenv環境にインストールする

Last updated at Posted at 2021-03-28

はじめに

pyrealsense2をmacのpyenv,pipenv環境にインストールした際の備忘録。
基本のビルド方法は@comachiさんの記事を参考にさせていただきました。
Mac に pyrealsense2 をインストールする

検証環境

macos 10.15.7
Intel® RealSense™ SDK 2.0 (v2.43.0)
pyenvとpipenv環境(Python3.7.7で作成)

ビルド&インストール

librealsenseのソースは以下のようにgit cloneするか、公式サイトからDLします。
公式サイトではXcodeを使ったビルド方法が紹介されていますが、普通にmakeでもできるんですね。

今回は仮想環境をpython3.7.7で構築する前提で進めます。python3.7.7のバイナリは、/Users/xxxxxxxxx/.pyenv/versions/3.7.7/bin/python3 にあるとします(xxxxxxxxの部分は各自のユーザー名に置き換えてください)。

$ brew install libusb pkg-config
$ brew install homebrew/core/glfw3
$ brew install cmake
$ git clone https://github.com/IntelRealSense/librealsense.git 
$ cd librealsense
$ mkdir build && cd build
$ cmake .. -DBUILD_EXAMPLES=true \
-DBUILD_WITH_OPENMP=false \
-DHWM_OVER_XU=false \
-DBUILD_PYTHON_BINDINGS=true \
-DPYTHON_EXECUTABLE:FILEPATH=/Users/xxxxxxxxx/.pyenv/versions/3.7.7/bin/python3 \
-G "Unix Makefiles"
$ make -j4
$ sudo make install

pyrealsense2のインストールパスを確認

$ find /usr -name pyrealsense*
....
....
/usr/local/lib/python3.9/site-packages/pyrealsense2
/usr/local/lib/python3.9/site-packages/pyrealsense2/pyrealsense2.2.43.0.cpython-37m-darwin.so
/usr/local/lib/python3.9/site-packages/pyrealsense2/pyrealsense2.2.43.cpython-37m-darwin.so
/usr/local/lib/python3.9/site-packages/pyrealsense2/pyrealsense2.cpython-37m-darwin.so

この辺は人によって違うと思われますが、私の場合、
/usr/local/lib/python3.9/site-packages/pyrealsense2
以下にインストールされていることがわかります。なお、見た感じpython3.7対象のバイナリが3.9のディレクトリ以下に生成されてしまっていますので、本来の3.9など別のpythonバージョンで使うときは都度ビルドしなおした方がよいでしょう。

pipenv環境の構築

作業ディレクトリにpipenv環境を作成します。今回はpython 3.7.7で環境構築しています。

$ mkdir realsense-test
$ cd realsense-test
$ pyenv local 3.7.7
$ pipenv --python 3.7.7

pipenv環境にpyrealsense2をコピーする

さて、最近のバージョンのlibrealsenseではインストールプロセスになにがしか問題があるようで、通常の環境でもpyrealsense2がすんなり動作しないケースがあるようです。特に今回仮想環境を使っているのでややこしさ倍増です。そこで美しくありませんが、ライブラリを作業ディレクトリにばくっとコピーして解決します。

さきほどのpyrealsense2ディレクトリ以下に生成された6つの.soファイルをすべて作業用ディレクトリにコピーしましょう。
importをしてpipeline()してエラーが出なければDone! うまくできていない場合pipeline()で落ちます。

$ cp /usr/local/lib/python3.9/site-packages/pyrealsense2/* .
$ pipenv run python3 -c "import pyrealsense2 as rs; rs.pipeline();"

librealsense/wrappers/python/examples/ 以下のサンプルファイルも実行してみましょう。

以上。

1
0
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
1
0