2017-01-30 51 views
0

Я установил IBM ILOG CPLEX Optimization Studio Community Edition.Как решить проблему с установкой python cplex?

У меня есть 64-битная Windows 7

Мой питон 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-битный питон? – alwbtc

ответ

1

Когда я называю мой (старые, не являющиеся активно используются окна на основе) питон-распределение, это что-то Выходов, как (немного отличается из-за распределения 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 (который даже кажется более стандартным сейчас)!

(Эрвин был немного быстрее, с его комментариями)

+0

На сайте IBM нет 32-разрядного Cplex. Как мне заставить работать 32-битный питон? – alwbtc

+0

Где я могу получить 64-битный питон? Я использую Windows 7. – alwbtc

+0

@alwbtc Googling сразу показал 32-битные версии CPLEX. Вопрос в том, есть ли: есть ли 64-разрядная версия (рекомендуется) с 32-битным интерфейсом? Я не уверен. Так что вы можете запустить 32-разрядный CPLEX в своих 64-битных окнах с помощью 32-разрядного Python. Но на самом деле, я настоятельно рекомендую переустанавливать Python! – sascha

1

С CPLEX 12.7 нет 32-разрядная программа установки на Windows. См. Здесь detailed system requirements. Если вы хотите использовать 32-разрядный Python, вам придется использовать более старую версию (например, CPLEX 12.6.3).