Linux+Gurobi-python教程
获取sudo权限
ubuntu@VM-0-17-ubuntu:/home/zjc/GUROBI/gurobi911/linux64$ sudo visudo <br></br># 修改visudo文件<br></br># 添加自己的用户信息,如下 user ALL=(ALL:ALL) ALL <br></br># user是你的用户名
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
user ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
ubuntu ALL=(ALL:ALL) NOPASSWD: ALL
gurobi下载与安装
官网下载安装包:https://www.gurobi.com/downloads/gurobi-software/
选择想要的版本。
user@VM-0-17-ubuntu:~/GUROBI$ tar -xzvf gurobi9.1.1_linux64.tar.gz
user@VM-0-17-ubuntu:~/GUROBI$ cd ./gurobi911/linux64
user@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$ ls
bin build docs EULA.pdf examples include lib matlab R ReleaseNotes.html setup.py src
user@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$ sudo python setup.py install
[sudo] password for user:
running install
running build
running build_py
running install_lib
creating /usr/local/lib/python2.7/dist-packages/gurobipy
copying build/lib.linux-x86_64-2.7/gurobipy/__init__.py -> /usr/local/lib/python2.7/dist-packages/gurobipy
copying build/lib.linux-x86_64-2.7/gurobipy/gurobipy.so -> /usr/local/lib/python2.7/dist-packages/gurobipy
byte-compiling /usr/local/lib/python2.7/dist-packages/gurobipy/__init__.py to __init__.pyc
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/gurobipy-9.1.1.egg-info
removing /home/zjc/GUROBI/gurobi911/linux64/build
user@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$
添加环境变量
user@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$ vim ~/.bashrc
# 修改 ~/.bashrc 文件在文件最后插入 /home/.../为文件路径
export GUROBI\_HOME="/home/.../gurobi911/linux64"
export PATH="${PATH}:${GUROBI\_HOME}/bin"
export LD\_LIBRARY\_PATH="${LD\_LIBRARY\_PATH}:${GUROBI\_HOME}/lib"
:wq保存
user@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$ source ~/.bashrc
激活Gurobi
从Gurobi获取免费的学术 license 一个账号可以申请好多个
user@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$ grbgetkey ********-7bd9-11eb-9f6c-************
验证成功后生成gurobi.lic 。 将gurobi.lic的位置/home/....../加入到环境变量里头,
即将下面的指令加入到 ~/.bashrc中,步骤同上。
export GRB_LICENSE_FILE="/home/....../gurobi.lic"
这里有个小问题,不知道是不是一定要用学校的ipgrbgetkey才行,我在远程 sever上测试不行。(报错如下,估计是我版本下载错了,需要下remote server)
zjc@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$ grbgetkey 2669adbc-7bd9-11eb-9f6c-020d093b5256
info : grbgetkey version , build v9.1.1rc0
info : Contacting Gurobi license server...
error : ERROR 303: hostname 49.235.1.1 (49.235.208.21) not recognized as belonging to an academic domain
info : Is your computer connected to the university network?
info : Your computer must be connected to the university network for the grbgetkey
info : command to work. You can connect your computer either directly or via a VPN
info : that tunnels all traffic through the university network. Once the license
info : file is setup, your computer does not need to be connected to the university
info : network. You can repeat this process to get licenses for additional computers.
info : If you are unable to setup this license file, please visit our support website
info : https://support.gurobi.com for further assistance.
zjc@VM-0-17-ubuntu:~/GUROBI/gurobi911/linux64$
View Code
然后验证是否安装成功:gurobi.sh
user@laptap:~$ gurobi.sh
Python 3.7.4 (default, Oct 29 2019, 10:15:53)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux
Type "help", "copyright", "credits" or "license" for more information.
Academic license - for non-commercial use only - expires 2021-04-25
Using license file /home/zjc/gurobi.lic
Set parameter LogFile to value gurobi.log
Gurobi Interactive Shell (linux64), Version 9.1.1
Copyright (c) 2020, Gurobi Optimization, LLC
Type "help()" for help
gurobi>