Python 未找到cplex的匹配分布

Python 未找到cplex的匹配分布,python,cplex,manjaro,Python,Cplex,Manjaro,使用pip install CPLEX安装Python CPLEX API时,出现错误: Could not find a version that satisfies the requirement cplex (from versions: none) ERROR: No matching distribution found for cplex 我的python和pip安装是最新的。我刚刚安装了CPLEX优化器。我应该从哪里开始确定问题?CPLEX python API(python包

使用
pip install CPLEX
安装Python CPLEX API时,出现错误:

Could not find a version that satisfies the requirement cplex (from versions: none) 
ERROR: No matching distribution found for cplex
我的python和pip安装是最新的。我刚刚安装了CPLEX优化器。我应该从哪里开始确定问题?

CPLEX python API(python包
CPLEX
)仅在PyPI上针对python 3.6和3.7提供(正如furas在评论中指出的那样)。但是,您可以从PyPI下载源代码,并在其他版本的python中运行它。它在Python3.8中运行良好(据我所知)

为此:

  • 从下载系统的控制盘文件
  • 解压缩轮子文件
  • cplex
    目录从
    cplex-12.10.0.3.data/purelib/
    复制到python路径上的某个地方
  • 使用
    python-c“import-cplex;print(cplex.\uuuuuuu版本)”进行测试
    。这将打印CPLEX版本,例如
    12.10.0.0
  • 2021年1月,我尝试了(谢谢你,伙计!)在康达3.8环境下,它几乎成功了。我只需在
    cplex
    中编辑一个文件,以避免以下异常,并使其正常工作:

    Exception: CPLEX 12.10.0.0 is not compatible with this version of Python.
    
    因此,为了保持全面性,以下是Matt的步骤,以及我必须添加的额外编辑:

  • 从这里下载并解压缩控制盘(在我的例子中,最接近的是Linux、x86、py37):
  • 解压缩它并确保
    purelib/cplex
    目录位于Python路径中(例如,通过打开
    purelib
    目录中的Python解释器)
  • 现在,
    import cplex
    触发了上述错误。可以通过编辑
    cplex/internal/\u pycplex\u platform.py
    中的
    version\u info<(3,8,0)
    表达式,并将其替换为例如
    version\u info
    来避免此问题
  • 现在导入cplex将起作用

    请注意这并不意味着安装一定会成功。IBM开发人员将版本保护设置到位是有原因的。库没有(可能)已经在Python3.8上进行了测试,这个解决方案可能不稳定!但对于原型设计来说,它可能已经足够了。如果您有任何问题,请告诉我,再次感谢Matt所做的所有脑力劳动

    干杯!

    Andres

    第一次访问cplex页面,查看是否有一些信息。可能您的Python ie.2.7(太旧)或3.8(太新)没有版本你必须使用不同的Python版本。如果代码在GitHub上,那么应该有页面
    问题
    ,在那里你可以看到是否有人有类似的问题。在页面上你可以看到只有Python 3.6和3.7版本的vesion-如果你使用不同的版本,你必须安装Python 3.7