Ubuntu 上 Metavision SDK 完整配置指南:从安装到运行第一个脚本

本指南介绍如何在 Ubuntu 上安装和配置 Metavision SDK。内容包括添加 Prophesee APT 仓库、安装 SDK 软件包、设置兼容的 Python 环境、配置路径,以及运行一个小型验证脚本。

系统和软件要求

  • 操作系统:Ubuntu 20.04 或 22.04
  • Python 版本:Python 3.9 或 3.10,取决于你安装的 Metavision 软件包
  • 包管理器权限:用于 APT 安装的 sudo 权限
  • Python 环境管理器:Conda 或其他能够创建 Python 3.9/3.10 环境的环境管理器

在修改系统之前,先检查你的 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 代号和网络访问是否正确。上面的示例使用 jammy,对应 Ubuntu 22.04。对于其他 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.9 而不是 Python 3.10,请检查是否有与你的发行版和 SDK 版本匹配的 HAL Python 软件包:

apt search metavision-hal-python

使用与你目标 Python 版本匹配的软件包。

步骤 3:设置 Python 环境

创建一个 Conda 环境,使用与已安装 SDK 软件包兼容的 Python 版本:

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/")

或者,将所需路径添加到 shell 环境中:

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

修改这些变量后,确认 shell 能看到它们:

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 软件包匹配。检查 shell 当前使用的解释器:

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