赞
踩
之前一直用matlab编程序,然后因为前一阵子部分高校被取消matlab正版授权的事儿,所以想学一下在python端编优化程序。第一关就是把Gurobi和python关联好。这个其实网上的相关教程满天飞,但具体能不能解决问题可能因人而异。
没有把gurobi配置好,在spyder中执行import gurobipy as gp
是会报如下错误的(模块找不到),这也很好理解,毕竟你都没把前置工作做好嘛。
解决步骤如下:
E:\gurobi9.0.1
,如下图。进入到E:\gurobi9.0.1\win64\python37\lib
路径下,复制其中的gurobipy
文件夹。
注意:gurobi
安装目录下有好几个pythonxx
文件夹,应该选择和你自己装的python版本对应的即可,比如我的python版本是3.7,我就选python37
。
找到你的python
安装路径。比如我的是E:\Python37
,如下图。进入E:\Python37\Lib
目录,将上一步中复制的gurobipy
文件夹拷贝进该目录即可。
至此,spyder中运行Gurobi自带例程不报错,如下图(例程为E:\gurobi9.0.1\win64\examples\python\bilinear.py
)。
因为 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解释器,我也不知道为什么这样子就可以了(*/ω\*)
。
关键是更换了解释器之后程序的标红明明还在,如下图。
不换解释器报错如下:
换解释器,标红不消失但是可以正常运行求解:
不管了,先这样吧,有问题了再来解决。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。