如何为 cvxpy 安装 mosek?

How to install mosek for cvxpy?

之前我使用命令conda install -c mosek mosek安装mosek(我的IDE是VS Code并且使用anaconda环境)。安装后,我运行一个凸优化问题的程序,一行代码是(因为我想选择mosek作为求解器):

prob.solve(solver=cp.MOSEK)

然后弹出一个错误:

cvxpy.error.SolverError: The solver MOSEK is not installed.

但是我安装了 MOSEK。我用下面的一段代码来检测:

import cvxpy as cp

print(cp.installed_solvers())

结果是:

['ECOS', 'ECOS_BB', 'OSQP', 'SCIPY', 'SCS']

为什么会这样?

我使用 conda list 命令检查我是否安装了 mosek:

但我确实安装了!

我该如何解决?


此外,每次我运行程序都会弹出这个错误:

Encountered unexpected exception importing solver MOSEK:
ImportError('DLL load failed while importing _msk: 找不到指定的模块。')

您是否测试过您的 conda 安装的 Mosek 可以在 Cvxpy 之外使用,即直接从 Python。

确保您需要的模块安装在当前选择的环境中。打开一个新的集成终端和运行conda list mosek,检查它的位置是否是状态栏中显示的位置: