我已经安装了3次Mosek。它在python中工作,但是CVXR(r包)函数installed_solvers()无法找到MOSEK。
我正在研究MACos Mojave。我通过conda comand安装了Mosek,获得了学术许可,在主目录中创建了一个名为mosek的文件夹,并将许可文件放入其中。然后,我在jupyter实验室中测试了以下脚本https://docs.mosek.com/8.1/pythonapi/design.html#hello-world-in-mosek,并获得了结果 解x = 2.0,因此Mosek正在运行。 然后我安装了网状结构,使用默认目录,将其替换为 use_python(“ / Users / apple / anaconda3”) 和 use_python(“ / Users / apple / anaconda3 / lib / python3.6”) 在其中任何一个函数中,installed_solvers()函数都已找到mosek。我的会话信息如下
https://cvxr.rbind.io/cvxr_examples/cvxr_using-other-solvers/中的文档并未真正说明如何解决问题。有人找到了解决方案?谢谢
答案 0 :(得分:4)
我能够复制,但不幸的是,错误非常安静。但是根据源代码https://rdrr.io/cran/CVXR/src/R/mosek-solver.R,我尝试了所有要求
reticulate::py_module_available(module = "numpy")
reticulate::py_module_available(module = "scipy.sparse")
reticulate::py_module_available(module = "mosek")
发现我实际上在Python环境中缺少scipy。安装后,它按文档所述工作。
如果这对您没有帮助,请尝试手动导入求解器:
msk = MOSEK()
import_solver(msk)
并查看结果。