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

基于poetry管理python项目学术版gurobipy WSL安装方式

这里写目录标题

  • 配置步骤
    • 1. 安装 Gurobi Optimizer 主程序
    • 2. 配置 License 文件
    • 3. 验证安装和许可是否生效
    • 4. 编写并运行一个简单示例
  • 3种学术版本的区别

在poetry中安装gurobipy后有许可限制,运行大规模问题报错如下,需要申请许可。

sop-mac-0513-py3.12pengkangzhen@192 sop_mac_0513 % /Users/pengkangzhen/Library/Caches/pypoetry/virtu
alenvs/sop-mac-0513-98gt8fhf-py3.12/bin/python /Users/pengkangzhen/Documents/code/sop_mac_0513/manua
l/main.py
Restricted license - for non-production use only - expires 2026-11-23
Gurobi Optimizer version 12.0.2 build v12.0.2rc0 (mac64[arm] - Darwin 24.4.0 24E263)CPU model: Apple M4
Thread count: 10 physical cores, 10 logical processors, using up to 10 threadsTraceback (most recent call last):File "/Users/pengkangzhen/Documents/code/sop_mac_0513/manual/main.py", line 382, in <module>model, s, x, z, y, r = main(^^^^^File "/Users/pengkangzhen/Documents/code/sop_mac_0513/manual/main.py", line 296, in mainmodel.optimize()File "src/gurobipy/_model.pyx", line 903, in gurobipy._model.Model.optimize
gurobipy._exception.GurobiError: Model too large for size-limited license; visit https://gurobi.com/unrestricted for more information

配置步骤

在完成了 WLS Academic 许可申请并在你的 macOS Python 环境中安装好 gurobipy 之后,接下来的关键步骤是:

1. 安装 Gurobi Optimizer 主程序

即便你已经能在 Python 中 import gurobipy,你仍需安装 Gurobi 的核心二进制和工具集:

  1. 到 Gurobi 官网(https://www.gurobi.com/downloads/gurobi-optimizer-eula/)下载适用于 macOS 的 Gurobi 安装包。
  2. 双击下载的 .pkg,一路“继续”“同意”完成安装。
  3. 默认情况下,Gurobi 会安装到 /Library/gurobi910/(取决于版本号)目录下。

2. 配置 License 文件

Gurobi Academic 许可通常以一个 gurobi.lic 文件形式提供,你需要把它放到你的 home 目录下一个特定位置:

mkdir -p ~/gurobi
cp /path/to/gurobi.lic ~/gurobi/gurobi.lic

然后在你的 shell 配置文件(如 ~/.bash_profile~/.zshrc)中添加:

export GUROBI_HOME="/Library/gurobi910"      # 根据你的实际安装路径调整版本号
export GRB_LICENSE_FILE="$HOME/gurobi/gurobi.lic"
export PATH="${GUROBI_HOME}/bin:${PATH}"
export DYLD_LIBRARY_PATH="${GUROBI_HOME}/lib:${DYLD_LIBRARY_PATH}"

保存后执行 source ~/.zshrc(或 ~/.bash_profile)来使其生效。

3. 验证安装和许可是否生效

打开一个新的终端或 Python 交互环境,依次执行:

import gurobipy
print(gurobipy.gurobi.version())

如果能正确输出版本号(如 ('9', '1', '0', ''))且没有报许可错误,说明安装和授权都已正确配置。

4. 编写并运行一个简单示例

确保一切正常后,用一段最简的线性规划模型来测试:

import gurobipy as gp
from gurobipy import GRB# 创建模型
m = gp.Model("test")# 添加变量
x = m.addVar(name="x")
y = m.addVar(name="y")# 设置目标
m.setObjective(2*x + 3*y, GRB.MAXIMIZE)# 添加约束
m.addConstr(x + y <= 10, "c0")
m.addConstr(x - y >= 3, "c1")# 求解
m.optimize()# 输出结果
for v in m.getVars():print(f"{v.varName} = {v.x}")
print(f"Obj = {m.objVal}")

在终端运行上述脚本,如果能看到最优解并且没有任何错误提示,就说明你的 Gurobi Python 接口和许可一切就绪。

3种学术版本的区别

Named-User Academic、WLS Academic 和 Take Gurobi With You 是 Gurobi 提供的不同类型的学术许可和服务,主要区别如下:

  1. Named-User Academic
    Named-User Academic 是一种学术用途的个人许可证,适用于学生或研究人员在学术环境中使用 Gurobi。这种许可证的有效期通常为一年,并且需要通过注册 Gurobi 账号来申请 。

  2. WLS (Web License Service) Academic
    WLS Academic 允许用户在任意环境中运行 Gurobi 优化器,包括本地机器或容器环境。与 Named-User 不同的是,WLS 更适合需要灵活部署和分布式计算的场景。它也属于学术用途的免费许可证 。

  3. Take Gurobi With You (TGWY)
    Take Gurobi With You 是一项特别针对毕业生的计划。通过这个计划,毕业生可以在毕业后继续免费使用 Gurobi,而无需受限于学术用途 。这项服务旨在帮助新毕业生在职业生涯开始时继续使用他们熟悉的工具 。

http://www.xdnf.cn/news/536779.html

相关文章:

  • Linux架构篇、第五章_06Jenkins 触发器全面解析与实战指南
  • 智能门锁为什么需要做EN 18031欧盟检测认证
  • 成功案例|单细胞与空间转录组学:解锁前列腺癌微环境密码
  • 没有公网ip怎么端口映射外网访问?使用内网穿透可以解决
  • 实验-使用递归计算阶乘-RISC-V(计算机组成原理)
  • 异步委托执行管理器:更新
  • 机器学习教程简介:从基础概念到实践应用的全面指南
  • Windows逆向工程提升之二进制分析工具:HEX查看与对比技术
  • 高性能锁机制 CAS:Java 并发编程中的深度剖析
  • 【通用智能体】Lynx :一款基于终端的纯文本网页浏览器
  • 用 SamGeo 库实现遥感影像自动分割:从本地 TIFF 到 SHP/GeoJSON 的一站式处理(Python 脚本实现)
  • 理解 Swift 逃逸闭包与 implicit `self`
  • 终端安全与终端管理:有什么区别及其重要性?
  • DSRC|动态交换路况信息,减少事故优化流量的无线通信技术【无线通信小百科】
  • select * from 限制个数
  • (1) 查看端口状态
  • DeepSeek 如何实现 128K 上下文窗口?
  • MySQL的锁机制
  • javascript 编程基础(2)javascript与Node.js
  • 文本分类实战:使用LSTM对微博评论进行情感分析
  • 数据库中的SCHEMA
  • 如何优化 Elasticsearch 磁盘空间和使用情况
  • 黑马点评-Redis缓存更新/穿透/雪崩/击穿
  • Git上传项目到GitHub
  • Keepalived相关配置和高可用
  • 为什么 LoRaWAN CN470 采用上下异频设计?从协议架构、频谱规划到工程实现的全面解析
  • NHANES最新指标推荐:C-DII
  • 浅谈GC机制-三色标记和混合写屏障
  • 蓝桥杯分享经验
  • 【cursor指南】cursor免费续杯pro会员试用