You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Linux系统的Anaconda环境中配置CPLEX学术版?——Ubuntu 22.04下CPLEX 22.10学术版仍显示试用版限制的求助

解决CPLEX学术版在Anaconda Python环境中显示试用版限制的问题

看起来你的问题核心是Python环境加载的是conda渠道的CPLEX试用版,而非你本地安装的学术版——毕竟Julia能正常使用学术版,说明你的license本身没问题,问题出在Python绑定的优先级上。下面是一步步的解决方案:

1. 移除conda安装的试用版CPLEX

首先,conda渠道提供的cplex包默认是试用版,它会覆盖你本地学术版的Python绑定,所以先把它删掉:

conda remove cplex

执行时确认删除相关依赖,确保环境里没有残留的试用版文件。

2. 用Anaconda Python重新安装本地学术版的绑定

你之前用sudo运行setup.py是个误区——sudo会把CPLEX绑定安装到系统Python,而不是你的Anaconda环境里。改用用户权限,直接用Anaconda的Python执行安装:

# 切换到CPLEX的Python绑定目录
cd /opt/ibm/ILOG/CPLEX_Studio221/python
# 用Anaconda的Python运行setup.py
/home/myUser/anaconda3/bin/python setup.py install

这个命令会把学术版的CPLEX绑定安装到你的Anaconda环境的site-packages目录下,确保Python优先加载它。

3. 调整PYTHONPATH确保学术版优先级(可选但推荐)

为了彻底避免路径冲突,把本地CPLEX的Python路径放到PYTHONPATH最前面,让Python先加载学术版的库:

# 替换成你对应的Python版本目录(这里是3.9)
export PYTHONPATH="/opt/ibm/ILOG/CPLEX_Studio221/python/:/opt/ibm/ILOG/CPLEX_Studio221/python/3.9/x86-64_linux:$PYTHONPATH"

如果想让这个设置永久生效,可以把上面的命令添加到你的~/.bashrc~/.zshrc文件里。

4. 验证安装是否成功

运行以下命令检查CPLEX的版本和授权状态:

python -c "
import cplex
print(f'CPLEX版本: {cplex.__version__}')
print(f'授权状态: {cplex.Cplex().get_license_status()}')
"

如果输出显示授权是**学术版(academic)**而非试用版(promotional),就说明配置成功了。之后再运行python -m docplex.mp.check_list,应该就不会再看到试用版限制的提示了。

5. 重新安装docplex(如果需要)

如果docplex和CPLEX版本不匹配,可能也会有问题,你可以用pip安装和当前CPLEX版本匹配的docplex:

pip install docplex==2.23.222

为什么Julia能正常使用?

因为Julia是直接调用你本地安装的CPLEX核心库,不会受到conda包的干扰;而Python环境中,conda安装的试用版包优先级更高,导致学术版的绑定没被加载——这就是问题的根源。

内容的提问来源于stack exchange,提问作者Mike.K

火山引擎 最新活动