如何解决python cplex安装的问题?

时间:2017-01-30 10:46:56

标签: python linear-programming solver cplex

我安装了 IBM ILOG CPLEX Optimization Studio Community Edition

我有64位Windows 7。

我的python是Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32

Cplex位于MYCPLEXHOME\cplex\python\2.7\x64_win64之下。我在这个目录中python setup.py install

然后我这样做:

import cplex

但是我收到了这个错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import cplex
  File "C:\Python27\lib\site-packages\cplex\__init__.py", line 41, in <module>
    from . import _internal
  File "C:\Python27\lib\site-packages\cplex\_internal\__init__.py", line 21, in <module>
    from . import _list_array_utils
  File "C:\Python27\lib\site-packages\cplex\_internal\_list_array_utils.py", line 14, in <module>
    from . import _pycplex as CPX
  File "C:\Python27\lib\site-packages\cplex\_internal\_pycplex.py", line 28, in <module>
    _pycplex_platform = swig_import_helper()
  File "C:\Python27\lib\site-packages\cplex\_internal\_pycplex.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pycplex_platform', fp, pathname, description)
  File "C:\Python27\lib\site-packages\cplex\_internal\_pycplex_platform.py", line 23, in <module>
    from cplex._internal.py27_cplex1270 import *
ImportError: DLL load failed: %1 is not a valid Win32 application.

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

当我调用我的(旧的非主动使用的基于Windows的)python-distribution时,它输出的东西就像(因为基于Anaconda的发行版有点不同):

Python 3.4.4 |Continuum Analytics, Inc.| (default, Feb 16 2016, 09:54:04) [MSC v.1600 64 bit (AMD64)] on win32

如果不太确定,我将其视为:

  • 构建于32位系统:on win32
  • 为64位系统构建:MSC v.1600 64 bit (AMD64)

在您的情况下,它看起来就像您使用的是32位Python(MSC v.1500 32 bit (Intel))分布,它与基于64位的CPLEX接口混合使用。这不会奏效!

所以你的步骤是:

  • 检查是否存在基于32位的CPLEX接口并安装
  • 如果没有,则需要重新安装python(为64位编译)

效果可能不简单,但我强烈推荐基于64位的Python(现在看起来更像是标准)!

(Erwin的评论速度有点快)

答案 1 :(得分:1)

使用CPLEX 12.7,Windows上没有32位安装程序。请在此处查看detailed system requirements。如果要使用32位Python,则必须使用旧版本(例如,CPLEX 12.6.3)。