UbuntuでMetavision SDKを完全セットアップするガイド:インストールから最初のスクリプト実行まで

このガイドでは、UbuntuにMetavision SDKをインストールして設定する手順を説明します。PropheseeのAPTリポジトリの追加、SDKパッケージのインストール、互換性のあるPython環境の用意、パスの設定、そして簡単な検証スクリプトの実行までを扱います。

システムとソフトウェア要件

  • オペレーティングシステム: Ubuntu 20.04または22.04
  • Pythonバージョン: インストールするMetavisionパッケージに応じてPython 3.9または3.10
  • パッケージマネージャー権限: APTインストール用のsudo権限
  • Python環境マネージャー: Python 3.9/3.10環境を作成できるCondaまたはその他の環境マネージャー

システムを変更する前に、UbuntuとPythonのバージョンを確認します。

lsb_release -a
python3 --version

ステップ1:Propheseeリポジトリを追加する

Propheseeリポジトリ用の新しいAPTソースリストファイルを作成します。

sudo nano /etc/apt/sources.list.d/prophesee.list

リポジトリ行を追加します。

deb [arch=amd64 trusted=yes] https://apt.prophesee.ai/dists/public/baiTh5si/ubuntu jammy sdk

ファイルを保存し、エディタを終了して、パッケージリストを更新します。

sudo apt update

apt updateが失敗する場合は、リポジトリURL、Ubuntuのコードネーム、ネットワークアクセスが正しいか確認してください。上の例ではUbuntu 22.04に対応するjammyを使用しています。他のUbuntuリリースでは、Propheseeの最新ドキュメントでサポートされているリポジトリ行を確認してください。

ステップ2:Metavision SDKと依存関係をインストールする

Metavision SDKパッケージと開発ライブラリをインストールします。

sudo apt install metavision-sdk-python metavision-sdk-dev metavision-studio metavision-hal-dev metavision-hal-python3.10

Python 3.10ではなくPython 3.9を使用している場合は、使用中のディストリビューションとSDKバージョンに対応するHAL Pythonパッケージが利用可能か確認してください。

apt search metavision-hal-python

ターゲットのPythonバージョンに一致するパッケージを使用します。

ステップ3:Python環境をセットアップする

インストール済みSDKパッケージと互換性のあるPythonバージョンでConda環境を作成します。

conda create -n evk python=3.10
conda activate evk

一般的な科学計算およびコンピュータビジョン用パッケージをインストールします。

conda install -c conda-forge numpy pandas matplotlib scipy h5py opencv pytorch tqdm libstdcxx-ng

Condaが競合を報告する場合は、パッケージを小さなグループに分けてインストールし、どの依存関係が競合の原因になっているか確認してください。最小限の検証環境であれば、通常はnumpyだけでインポートのテストを始められます。

ステップ4:Pythonとシステムパスを設定する

APTでインストールされたMetavisionのPythonモジュールは、通常システムPythonのパッケージディレクトリ配下に配置されます。Conda環境から見つけられない場合は、スクリプト内でシステムパッケージのパスを追加します。

import sys
sys.path.append("/usr/lib/python3/dist-packages/")

別の方法として、必要なパスをシェル環境に追加します。

echo 'export PYTHONPATH="/usr/lib/python3/dist-packages/:$PYTHONPATH"' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"' >> ~/.bashrc
source ~/.bashrc

これらの変数を変更した後、シェルから認識されていることを確認します。

echo "$PYTHONPATH"
echo "$LD_LIBRARY_PATH"

ステップ5:インストールを検証する

test_metavision.pyという名前のPythonファイルを作成します。

from metavision_core.event_io import EventsIterator

print("Metavision SDK is properly installed if this script runs without errors!")

有効化したConda環境から実行します。

python test_metavision.py

インポートエラーなしでスクリプトが終了すれば、Pythonバインディングがその環境から見えていることを意味します。

Pythonがどこからパッケージを読み込んでいるかも確認できます。

python - <<'PY'
import metavision_core
print(metavision_core.__file__)
PY

よくある問題のトラブルシューティング

Pythonバージョンの不一致

有効なPythonインタプリタが、インストール済みのMetavision Pythonパッケージと一致していることを確認してください。現在シェルで使用されているインタプリタを確認します。

which python
python --version

metavision-hal-python3.10をインストールした場合は、Python 3.10環境を使用してください。Python 3.9を使う場合は、SDKリリースに対応するパッケージが利用可能であれば、それをインストールします。

ModuleNotFoundError

ModuleNotFoundError: No module named 'metavision_core'のようなエラーが表示される場合は、システムパッケージディレクトリが見えているか確認します。

python - <<'PY'
import sys
for path in sys.path:
    print(path)
PY

/usr/lib/python3/dist-packages/が見当たらない場合は、上記のようにPYTHONPATHを設定するか、スクリプト内でパスを追加してください。

共有ライブラリの読み込みエラー

Pythonがモジュールを見つけているのに共有ライブラリの読み込みに失敗する場合は、LD_LIBRARY_PATHを確認します。

echo "$LD_LIBRARY_PATH"

次に、Metavisionライブラリが想定されるシステムライブラリディレクトリにインストールされているか確認します。

ls /usr/lib/x86_64-linux-gnu | grep -i metavision

パッケージの利用可否

APTがMetavisionパッケージのいずれかを見つけられない場合は、パッケージインデックスを更新し、利用可能なパッケージ名を確認します。

sudo apt update
apt search metavision

パッケージ名はSDKリリース、Ubuntuバージョン、Pythonバージョンによって異なることがあるため、パッケージ名を決め打ちする前に、ローカルでリポジトリ内容を確認するのがよいでしょう。

まとめ

Propheseeリポジトリの追加、SDKパッケージのインストール、互換性のあるPython環境の作成、必要なパスの設定を終えれば、Ubuntu上でMetavision SDKを使える状態になります。最後のインポートテストが最も重要な確認です。これは、有効なPython環境からMetavisionバインディングが見えており、対応するシステムライブラリを正しく読み込めることを確認するものです。

Leave a Reply