本指南介绍如何在 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 绑定,并正确加载其系统库。
