Gurobi for python 的安装方法

本文介绍 gurobi for python 的安装方法,且不安装 gurobi 的完整安装包

  1. 首先确保已经安装了 gurobipy,如果没安装,则可以根据以下两种方式,择其一种方式进行安装。

    第一种方法: pip 安装

    进入到激活环境的 Python 命令行窗口(如果安装到 Anaconda 里,以管理员权限进入 到 Anaconda Prompt 窗口并进入到激活环境;如果安装到 PyCharm 里,则可以点击 IDE 左下角 Terminal 打开命令行窗口;如果是其他 Python IDE,则进入到对应激活环境的命
    令行窗口),联网运行

    pip install gurobipy
    

    则将 Gurobi 模块(非 Gurobi 完整安装包)安装到当前激活的 Python 环境中。

    如果在 pip 中升级 Gurobi,则输入
    pip install gurobipy --upgrade
    或者指定版本
    pip install gurobipy==9.1.2
    如果需要卸载旧版本,输入
    pip uninstall gurobipy
    

    第二种方法: Anaconda 安装

    如果你使用 Anaconda, 以管理员权限进入到 Anaconda Prompt 窗口,通过 conda 命令运行

    conda install -c gurobi gurobi
    
    如果在 Anaconda 中升级 Gurobi,则输入
    conda update gurobi
    或者指定版本
    conda install gurobi=9.1.2
    如果删除旧版本,输入
    conda remove gurobi
    
  2. 获取 Gurobi 许可文件

    第一种 pip 安装方法在安装 gurobipy 时会自动产生一个有时效限制的 2000 个变量和约束限制的培训许可(许可文件 gurobi.lic 中显示 TYPE=PIP) ,用户只能在 Python 环境中使用。这个许可受到版权限制,不能应用于论文发表、商业部署、项目实施等非培训和学习场合。

    如果用户需要产生更高级别的许可(例如无限制的学术许可,院系许可,商业许可、离线许可等),需要运行 Gurobi 专门的激活工具(例如 grbgetkey 和 grbprobe)。这些激活工具不包含在 gurobipy 模块库中,需要安装 Gurobi 独立安装包,或者单独从以下地址下载并解压缩后使用:

    https://support.gurobi.com/hc/en-us/articles/360059842732

    下载到本地文件后,解压,得到 grbgetkey 文件,在linux系统中可以执行指令

    grbgetkey XXXX
    

    获得gurobi.lic许可文件。这里我遇到了一个问题,执行这个指令时,提示command not found

    > grbgetkey XXXXX
    zsh: command not found: grbgetkey
    

    于是我将指令替换为./grbgetkey,又提示 permission denied

    > ./grbgetkey XXXXX
    zsh: permission denied: ./grbgetkey
    

    最后,我是将grbgetkey的文件权限修改为可执行后,一切正常了。

    到这里,当前目录下应该是有许可证文件了gurobi.lic。下一步,我们需要将许可证保存在gurobi默认搜索位置或自定义位置并修改系统环境变量。

  3. gurobi.lic 许可文件的建议保存目录

    Windows: c:\gurobi
    Linux: opt/gurobi
    Mac: /Library/gurobi
    

    如果没有这些目录,请创建一个。这是 Gurobi 默认搜索位置。

    如果保存到其他位置,需要创建 GRB_LICENSE_FILE 系统环境变量(不是用户环境变量),指向保存的目录和文件名(例如 GRB_LICENSE_FILE = C:\myfolder\gurobi.lic)。需要重启电脑使之生效。

    打开 gurobi.lic 文件,显示许可过期日期(EXPIRATION=),以及支持的最大版本号(VERSION=)。许可文件不能编辑。许可到期后,重新申请获得新激活码,产生新的gurobi.lic 许可文件替换掉旧许可文件

    如果既放置在(2)中的位置,又设置了 GRB_LICENSE_FILE 系统环境变量,Gurobi 会以 GRB_LICENSE_FILE 的设置为准。

posted @ 2024-09-03 22:55  X1OO  阅读(1361)  评论(0)    收藏  举报