“未找到包'coinhsl'”:IPOPT编译并通过测试,但是pyomo找不到吗?

时间:2018-10-01 18:01:04

标签: python pyomo ipopt

我不知道问题出在我和Pyomo.DAE之间还是我和IPOPT之间。我正在Windows(WSL)上的Ubuntu上的Bash中的命令行界面中完成所有这些工作。当我跑步时:

  

JAMPchip @ DESKTOP-BOB968S:〜/ examples / dae $ python3 run_disease.py

我收到以下输出:

  

警告:无法找到“ ipopt”可执行文件,这是必需的   对于求解器       ipopt追溯(最近一次通话):文件“ run_disease.py”,第15行,在       结果= Solver.solve(instance,tee = True)文件“ /usr/lib/python3.6/site-packages/pyomo/opt/base/solvers.py”,第   541,在解决       self.available(exception_flag = True)文件“ /usr/lib/python3.6/site-packages/pyomo/opt/solver/shellcmd.py”,行   122,可用       引发ApplicationError(msg%self.name)pyutilib.common._exceptions.ApplicationError:未找到可执行文件   求解器“ ipopt”

当我在IPOPT构建文件夹中运行“ make test”时,我重新访问:

  

测试AMPL求解器可执行文件...       通过测试!测试C ++示例...       通过测试!测试C示例...       通过测试!测试Fortran示例...       测试通过!

但是我主要关心的是在“配置”输出中是以下内容:

  

正在检查COIN-OR软件包HSL ...未给出:没有软件包'coinhsl'   找到

我运行“ make”时也有一些警告。我完全不确定问题出在哪里。我如何使python3找到IPOPT,以及如何判断我的系统上是否有IPOPT供pyomo.dae查找?我非常有信心HSL文件夹中有“ coibhsl”,那么如何确保IPOPT找到了它?

1 个答案:

答案 0 :(得分:0)

如sascha所述,您需要确保包含IPOPT可执行文件的目录(可能是build文件夹)在系统PATH中。这样,如果您要打开终端并从任意目录调用ipopt,它将被检测为有效命令。这不同于能够从IPOPT构建文件夹中调用make test