在pyenv+Poetry虚拟环境中使用Pyomo的appsi_highs求解器遇问题
解决Pyomo appsi_highs求解器在pyenv+Poetry虚拟环境中不可用的问题
问题背景
在pyenv管理的Python 3.10、Poetry创建的虚拟环境中,调用Pyomo的appsi_highs求解器时触发错误:
pyomo.common.errors.ApplicationError: Solver <class 'pyomo.contrib.appsi.base.SolverFactoryClass.register.<locals>.decorator.<locals>.LegacySolver'> is not available (NotFound)
已执行pyomo build-extensions命令,日志显示包括appsi在内的扩展构建成功,但扩展被安装到全局路径/myuser/.pyomo,而非虚拟环境路径/myuser/myprojet/.venv/bin/python。该求解器在Docker的根Python环境中可正常运行,使用的是Intel芯片的OS X系统。
解决方法
在虚拟环境内执行以下命令安装指定版本的highspy:
pip install highspy==1.1.2.dev3
执行后即可正常调用appsi_highs求解器。
内容的提问来源于stack exchange,提问作者Philippe Stepniewski
相关产品推荐
相关产品推荐

