Gurobi链接到python(spyder开发环境)

前言

之前一直用matlab编程序,然后因为前一阵子部分高校被取消matlab正版授权的事儿,所以想学一下在python端编优化程序。第一关就是把Gurobi和python关联好。这个其实网上的相关教程满天飞,但具体能不能解决问题可能因人而异。

步骤

没有把gurobi配置好,在spyder中执行import gurobipy as gp是会报如下错误的(模块找不到),这也很好理解,毕竟你都没把前置工作做好嘛。
在这里插入图片描述
解决步骤如下:

  1. 找到你的Gurobi安装路径。比如我的是E:\gurobi9.0.1,如下图。进入到E:\gurobi9.0.1\win64\python37\lib路径下,复制其中的gurobipy文件夹。

Gurobi链接到python(spyder开发环境)_第1张图片
Gurobi链接到python(spyder开发环境)_第2张图片
注意:gurobi安装目录下有好几个pythonxx文件夹,应该选择和你自己装的python版本对应的即可,比如我的python版本是3.7,我就选python37
Gurobi链接到python(spyder开发环境)_第3张图片

  1. 找到你的python安装路径。比如我的是E:\Python37,如下图。进入E:\Python37\Lib目录,将上一步中复制的gurobipy文件夹拷贝进该目录即可。
    Gurobi链接到python(spyder开发环境)_第4张图片

  2. 至此,spyder中运行Gurobi自带例程不报错,如下图(例程为E:\gurobi9.0.1\win64\examples\python\bilinear.py)。
    Gurobi链接到python(spyder开发环境)_第5张图片

进行过的尝试

因为 spyder 本身是 anaconda 套件里的,之前在网上看到有的教程说把步骤1中的gurobipy文件夹复制到anaconda 安装路径的Lib文件夹中,如下图。但是尝试后并不能解决问题。
在这里插入图片描述
然后复制到python的安装目录下是参考了这篇博客。

一些简单的验证

按住ctrl单击gurobipy会跳转到E:\Python37\lib\gurobipy\__init__.py文件,如下图,而这个文件正是我们前面复制到python安装路径下的gurobipy文件夹中的。
在这里插入图片描述
在这里插入图片描述

其他

我突然发现pycharm环境下没法运行同样的程序。然后把Python interpreter换了一下:从E:\Python37\python.exe换成D:\anaconda3\python.exe就可以正常运行了。也就是从原生python的解释器换成anaconda下的python解释器,我也不知道为什么这样子就可以了(*/ω\*)
在这里插入图片描述
在这里插入图片描述
关键是更换了解释器之后程序的标红明明还在,如下图。
Gurobi链接到python(spyder开发环境)_第6张图片

不换解释器报错如下:
Gurobi链接到python(spyder开发环境)_第7张图片
换解释器,标红不消失但是可以正常运行求解:
Gurobi链接到python(spyder开发环境)_第8张图片
不管了,先这样吧,有问题了再来解决。

你可能感兴趣的:(优化)