每晚构建不获取 mosek 许可证

Nightly build doesn't acquire mosek license

我在 Drake 中使用 Mosek 时遇到问题。如果我使用夜间构建二进制文件,pydrake 无法找到我的 mosek 许可证。如果我从 git repo 构建,pydrake 可以使用 mosek。

安装步骤遵循https://drake.mit.edu/python_bindings.html

从二进制安装:

curl -o drake.tar.gz https://drake-packages.csail.mit.edu/drake/nightly/drake-latest-<platform>.tar.gz
rm -rf /opt/drake
tar -xvzf drake.tar.gz -C /opt
export PYTHONPATH=/opt/drake/lib/python3.6/site-packages:${PYTHONPATH}

在python解释器中,如果我运行

import pydrake.solvers.mosek as msk
msk.MosekSolver.AcquireLicense().is_valid()

returns False.

从源安装:

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

在python解释器中,前面的命令

import pydrake.solvers.mosek as msk
msk.MosekSolver.AcquireLicense().is_valid()

returns True.

我在使用源代码构建时遇到了其他问题,所以我希望能够改用二进制文件。

不幸的是,这是预期的行为。目前必须从源代码构建才能使用 Gurobi 或 Mosek,直到我们能够正确浏览这些商业求解器的许可限制。