首页 > 解决方案 > drake build 和“来自 pydrake.all 导入”的问题

问题描述

from pydrake.all import (MathematicalProgram, Polynomial)从源代码构建 drake 后,我在使用时遇到问题(参考https://drake.mit.edu/python_bindings.html)。根据上一个链接,安装步骤是:

git clone https://github.com/RobotLocomotion/drake.git
mkdir drake-build
cd drake-build
cmake ../drake -DWITH_MOSEK=ON
make -j
cd drake-build
export PYTHONPATH=${PWD}/install/lib/python3.6/site-packages:${PYTHONPATH}

安装并运行后from pydrake.all import (MathematicalProgram, Polynomial)出现以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "$HOME/drake-build/install/lib/python3.6/site-packages/pydrake/all.py", line 34, in <module>
    from .perception import *
ImportError: ImportError: $HOME/drake-build/install/lib/python3.6/site-packages/pydrake/systems/framework.so: undefined symbol: _ZNK5drake7systems6SystemIdE19DoCheckValidContextERKNS0_11ContextBaseE

如果我使用每晚构建二进制文件(而不是从源代码构建),我不会收到此错误,但我在每晚构建二进制文件方面遇到了单独的问题,并且希望依赖从 git 构建。

使用 Ubuntu 18.04、Python3.6。

标签: drake

解决方案


您是否尝试设置 PYTHONPATH 环境变量?你可以做

cd drake-build
export PYTHONPATH=${PWD}/install/lib/python3.6/site-packages:${PYTHONPATH}

https://drake.mit.edu/python_bindings.html#building-the-python-bindings中所述


推荐阅读