当前位置: 首页 > news >正文

gurobi 安装/license激活 记录

前言:花了好久,被嫌弃惹ww,记录一下踩过的坑

至于为何没安装gurobi也能跑一段时间,直到显示需要license激活,还是未解之迷,需要教教。

首先这是官方给的gurobi license激活教程

我们一步步来复现吧!

1、进入gurobi官网 注册账号(用学校的邮箱来注册以便于获得academic license )

点击这个按钮后会自动进去注册页面

这里一定注意使用Google Chrome而不是Safari(博主用Safari遇到了非常多奇奇怪怪的问题,比如验证码输入不进去)

总结一下 这种时候可以考虑 换浏览器 换邮箱 重启 是否是翻墙的问题 

注册成功后大概显示的是这个样子

2、在服务器中安装gurobi 

这个时候学长直接给我了软件包(gurobi10.0.1_linux64.tar.gz)或者直接下载官网


这个时候菜菜的博主又忘了如何把本地文件传到服务器上!(

可以用termius的SFTP(这样直接有界面,比较直观)或者scp指令哇

linux下gurobi软件包直接解压就相当于安装好了

tar -zxvf data.tar.gz

可以指定一个路径 会优雅一点(更方便当然是直接把压缩包移到路径下再解压啦

3、申请license

从刚刚注册成功的页面直接选择license/request/Named-User Academic

关闭代理,打开校园vpn和网络 点击generate now!

 

会弹出

 

那么到底是在哪里使用这个指令呢?来到下一步

4、激活license

来到了博主最迷惑的一步! ps学长直言很简单x

因为实验室有很多台服务器,对于每个端口,都需要一个不同的license

这个时候我们要怎么操作呢?

我们利用环境变量来用区分不同机器的证书

step1:修改.bashrc文件

实现

vim ./bashrc

加入

export GUROBI_HOME=/home/ruanhang/tools/gurobi1001/linux64
export PATH=${PATH}:${GUROBI_HOME}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib
export GRB_LICENSE_FILE=/home/ruanhang/tools/grb_lic/$HOSTNAME/gurobi.lic

你对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:

source ~/.bashrc

或者重启终端也可以。

step2:在tools里面创建grb_lic文件专门用来存储gurobi licenses

step3:到每个端口下的tools/gurobi1001/linux64/bin 执行网站提供的license指令

grbgetkey 07f7c1e0-bf2d-4379-8660-b83342a0acd0

原因:tools/gurobi1001/linux64/bin下有这个文件(是文件吗?)

并且把每个生成的license(gurobi.lic文件)放到以HOSTNAME(对应服务器名字)命名的文件夹中。

会弹出 输入grb_lic文件下以HOSTNAME(对应服务器名字)命名的文件夹路径

(会生成文件GRB_LICENSE_FILE=/home/ruanhang/tools/grb_lic/$HOSTNAME/gurobi.lic)

step4:用gurobi.sh测试是否成功 

就成功啦!

知识点:环境变量与bashrc

种草博客【精选】【Linux学习】环境变量_普通用户环境变量-CSDN博客

环境变量理解:相当于全局变量,一般是指在操作系统中用来指定操作系统运行环境的一些参数(变量),具有继承性 。

查看环境变量的方法
  • env:用于查看系统中所有环境变量的命令
    在这里插入图片描述
环境变量中path的作用

PATH变量指定命令的搜索路径。

如果在path里面定义了一个目录,你在命令行里面不用输出完整的目录名,直接输入可执行程序和文件名就可以执行了,你输入命令的时候,系统会在path定义的目录下道面去寻找你输入的命令。
例如:

从中可以看出,在当前目录下,PATH的值。它表示在当前目录下执行的每一条指令的搜索路径,每个目录以冒号隔开。当执行一条指令时,系统就会从系统文件中去寻找,找到了就执行;否则不执行。

.bashrc 是什么?( 什么是.bashrc,有什么用?-CSDN博客)

.bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。

应用:路径设置
每次export路径太麻烦,把路径加入到.bashrc是一个一劳永逸的方法,常见的设置语法如下:
 

写法1:

PATH=$PATH:路径
export PATH

写法二:

export PATH=$PATH:路径


上述语法可以理解为,在原来PATH的后面继续添加了新的路径,在运行特定指令时,系统会逐个位置去寻找文件。 $PATH 表示原先设定的路径,不能遗漏。不同于DOS/Windows,Unix类系统的环境变量的路径用冒号:分割,而不是分号;。为避免环境变量过多产生混乱,建议所有语句都添加在文件结尾,并添加注释。
所有环境变量名都是大写,Linux区分大小写

实现

vim ./bashrc

加入

export GUROBI_HOME=/home/ruanhang/tools/gurobi1001/linux64
export PATH=${PATH}:${GUROBI_HOME}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib
export GRB_LICENSE_FILE=/home/ruanhang/tools/grb_lic/$HOSTNAME/gurobi.lic

你对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:

source ~/.bashrc

或者重启终端也可以。

理解:

不同的 IP 地址通常不会影响用户的 ~/.bashrc 文件。 ~/.bashrc 是用户的 Bash shell 配置文件,它通常用于设置用户特定的 shell 环境变量、别名、函数和其他自定义配置。这些配置是基于用户的身份而不是 IP 地址。

当用户登录时,他们的 ~/.bashrc 文件会被执行,不论他们使用哪个 IP 地址。这意味着无论用户从哪个 IP 地址登录,他们都会使用相同的 Bash shell 配置。

IP 地址通常用于网络相关的配置,如防火墙规则、网络访问控制列表等,而不会影响用户的 shell 配置文件。(在thinklab实验室只有两个不同的.bashrc

相关文章:

  • 最新发布!阿里云卓越架构框架重磅升级
  • 掌握CSS Flexbox,打造完美响应式布局,适配各种设备!
  • 【数据结构】时间复杂度与空间复杂度
  • 这么理解矩阵乘法,让你吊打面试官
  • 【网络安全】Seeker内网穿透追踪定位
  • 【ChatGPT 01】ChatGPT基础科普
  • 在Win11上部署ChatGLM2-6B详细步骤--(下)开始部署
  • vscode插件开发
  • VCS 和 SCM
  • 0X01
  • 基于STM32+OneNet设计的物联网智能鱼缸(2023升级版)
  • 【机器学习合集】模型设计之分组网络 ->(个人学习记录笔记)
  • Xilinx 7 系列 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性
  • 【二分】专题练习
  • FPGA_Quartus 如何生成 jic 文件
  • bearychat的java client
  • C++入门教程(10):for 语句
  • CSS实用技巧
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Docker容器管理
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • 关于字符编码你应该知道的事情
  • 基于组件的设计工作流与界面抽象
  • 记一次删除Git记录中的大文件的过程
  • 经典排序算法及其 Java 实现
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 码农张的Bug人生 - 见面之礼
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 思考 CSS 架构
  • 消息队列系列二(IOT中消息队列的应用)
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #if 1...#endif
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • ${factoryList }后面有空格不影响
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (12)Hive调优——count distinct去重优化
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (pojstep1.3.1)1017(构造法模拟)
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (原創) 物件導向與老子思想 (OO)
  • (转)Google的Objective-C编码规范
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .Net 6.0 处理跨域的方式
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net的socket示例
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc