2017-01-30 182 views
0

我已安装IBM ILOG CPLEX Optimization Studio Community Edition如何解决python cplex安装的问题?

我有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

我想你是混合32位Python与64位Cplex。有了DLL,这些东西必须匹配。 –

+0

IBM网站上没有32位Cplex。我如何使它与32位Python工作? – alwbtc

回答

1

当我打电话给我的(基于Windows的旧的非主动使用)蟒蛇分布,它输出的类似(一点,因为基于蟒蛇分布的不同):

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

没有beeing太肯定,我读这为:

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

你的情况看起来,像你使用Python(MSC v.1500 32 bit (Intel))的32位分布,你CPLEX的64位基于接口混用。那不行!

所以,你的步骤是:

  • 检查是否有基于32位CPLEX界面和安装
  • 如果没有,则需要重新安装蟒蛇(编译为64位)

效果可能不是很简单,但我强烈建议使用基于64位的Python(它现在甚至更像是标准)!

(欧文与他的评论有点快)

+0

IBM网站中没有32位Cplex。我如何使它与32位Python工作? – alwbtc

+0

我在哪里可以获得64位Python?我使用Windows 7. – alwbtc

+0

@alwbtc Googling立即显示了32位版本的CPLEX。问题是:是否有64位版本(推荐)和32位接口?我不确定。因此,您可以使用32位Python在64位窗口上运行32位CPLEX。但是,真的,我强烈推荐重新安装Python! – sascha

1

随着CPLEX 12.7有Windows上的32位安装程序。请参阅detailed system requirements。如果您想使用32位Python,则必须使用旧版本(例如,CPLEX 12.6.3)。