admin 管理员组

文章数量: 887178

Windows环境下安装pyscipopt(python)

pyscipopt在windows下安装有几个细节需要注意,直接pip install pyscipopt会报错,报错情况大致有两种:一是SCIP环境变量不对;二是Microsoft Visual C++ 依赖组件缺少。

安装步骤如下:

  1. 安装SCIPOptSuite
    在官网下载安装包,选择对应版本,地址https://www.scipopt/index.php#download

    下面Visual C++ Redistributable Packages是包需要的依赖,如果电脑没装需要装一下,如果不知道自己装没有没就继续,如果报错报缺少依赖就回来装一下。
    下载完毕后,正常安装,可指定任意文件夹。

  2. 设置环境变量
    右键我的电脑——【属性】——【高级系统设置】——【高级】——【环境变量】——【path】——添加SCIPOptSuite安装路径\bin
    (注意:添加bin,因为scip.exe等的求解器在bin里面)

    看看自己添加成功否,win+R打开cmd,输入scip.exe,如果可以打开,说明变量成功添加到路径里了。

  3. 安装pyscipopt
    python通过pyscipopt包来调用安装好的SCIPOptSuite,所以还需要安装pyscipopt,直接pip install pyscipopt==版本号 安装pyscipopt包,建议直接指定版本号,默认的有时候会出错。

  • 如果出现报错,注意看是什么,如果缺少依赖则安装相应依赖即可。
Microsoft visual C++ 14.0 is required.
  • 如果是版本问题则要注意pyscipopt的版本是否和SCIPOptSuite的版本匹配,匹配关系见https://github/SCIP-Interfaces/PySCIPOpt/blob/master/INSTALL.md

    另外一种特殊情况,如果没有指定版本号,即直接pip install pyscipopt默认的PySCIPOpt包版本不对,就像这样子,所以最好指定版本号。

    解决方法:这个时候可以指定一下版本号就好。可能因为SCIPOptSuite 7.0.3是测试版,所以默认的pyscipopt还没有windows的包,这里指定了版本号就好了。一个小问题,需要注意一下。(这小BUG坑了我两个小时)

安装后,在python环境中输入 import pyscipopt 不报错即证明安装成功!

测试代码:

import pyscipopt
from pyscipopt import Model

model = Model("Example")
x = model.addVar("x")
y = model.addVar("y", vtype="INTEGER")
model.setObjective(x + y)
model.addCons(2*x - y*y >= 0)
model.optimize()
sol = model.getBestSol()
print("x: {}".format(sol[x]))
print("y: {}".format(sol[y]))

本文标签: 环境 Windows python pyscipopt