You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决docplex中`np.float_`在NumPy 2.0被移除的报错?

解决方案

问题核心是旧版docplex依赖已被numpy 2.0移除的np.float_ API,且你当前的Python 3.11与numpy 1.19.5不兼容,导致降级操作未生效。以下是可行的解决方法:

方法1:使用匹配版本的虚拟环境(最稳妥)

  • 安装Python 3.8~3.10中的任意版本(numpy 1.19.5支持Python 3.6-3.8,CPLEX 22.1.1支持Python 3.7-3.10)
  • 创建并激活虚拟环境:
    # 以Python3.8为例
    python3.8 -m venv cplex_env
    # Windows系统激活
    cplex_env\Scripts\activate
    # Linux/macOS系统激活
    source cplex_env/bin/activate
    
  • 安装指定版本依赖:
    pip install numpy==1.19.5 docplex==2.10.154
    
  • 安装CPLEX Python API:找到CPLEX安装目录下的python文件夹,运行setup.py install(例如路径:C:\Program Files\IBM\ILOG\CPLEX_Studio2211\python\setup.py install)

方法2:临时兼容补丁(快速测试)

在你的代码最开头添加以下代码,手动为numpy添加float_别名,绕过docplex的旧API调用:

import numpy as np
# 为numpy 2.0添加兼容别名
if not hasattr(np, 'float_'):
    np.float_ = np.float64

之后再导入docplex模块。注意:这是临时 workaround,可能存在潜在兼容性问题,仅用于快速验证代码逻辑。

方法3:升级docplex到兼容numpy的版本(需匹配CPLEX)

CPLEX 22.1.1对应的最新兼容docplex版本为2.21.x(如2.21.207),该版本已修复numpy 2.0的API适配问题:

  • 先卸载旧版依赖:
    pip uninstall -y docplex numpy
    
  • 安装匹配版本:
    pip install docplex==2.21.207 numpy>=1.21.0,<2.0
    

(注:numpy 1.21+支持Python 3.11,且docplex 2.21.207已适配这些版本的numpy API)

内容的提问来源于stack exchange,提问作者Meet Saiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:20:57