2016-05-18 8 views
0

Я прочитал много сообщений о проблемах, но ни один из них не может решить мою проблему. Хотя я следовал this blog точно я все еще получаю эту ошибку, когда я пытаюсь запустить один из файлов питона пример SRC:Проблемы с CPLEX Python API на mac

Traceback (most recent call last): 
    File "facility.py", line 25, in <module> 
    import cplex 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/__init__.py", line 43, in <module> 
    import callbacks 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/callbacks.py", line 48, in <module> 
    from _internal._aux_functions import apply_freeform_two_args, apply_freeform_one_arg 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/__init__.py", line 22, in <module> 
    import _list_array_utils 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/_list_array_utils.py", line 13, in <module> 
    import _pycplex as CPX 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/_pycplex.py", line 19, in <module> 
    _pycplex_platform = swig_import_helper() 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/_pycplex.py", line 15, in swig_import_helper 
    _mod = imp.load_module('_pycplex_platform', fp, pathname, description) 
    File "/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/_pycplex_platform.py", line 23, in <module> 
    from cplex._internal.py1013_cplex1251 import * 
    ImportError: dlopen(/Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/py1013_cplex1251.so, 2): no suitable image found. Did find: 
    /Users/sb/Applications/IBM/ILOG/CPLEX_Studio1251/cplex/python/x86_darwin/cplex/_internal/py1013_cplex1251.so: mach-o, but wrong architecture 

К сожалению, я не знаком с /.bash_profile, но то, что опубликовано в ссылке, которую я добавлено в конце. Может ли кто-нибудь помочь мне здесь?

+0

В этом блоге есть некоторые вещи. Например, после запуска setup.py нет причин устанавливать PYTHONPATH (ну, если вы не используете --home). Наконец, есть ли причина, по которой вы не можете использовать последнюю версию CPLEX (в настоящее время 12.6.3)? Если вы участвуете в академической инициативе, это бесплатно, и, например, в более поздних версиях CPLEX вам также не нужно беспокоиться о 32-разрядной проблеме. – rkersh

+0

Также может быть, что ваша версия OSX слишком новая (т. Е. Не поддерживается 12.5.1). Вам нужно будет прочитать [подробные системные требования] (http://www-01.ibm.com/support/docview.wss?uid=swg27019100) (к сожалению, эта страница сейчас не работает). :-( – rkersh

+0

К сожалению, это единственная версия, которую я получил для проекта ... Так что нет способа заставить его работать? – steph

ответ

1

Возможным решением этого может быть проверка того, можно ли вручную скопировать каталог cplex в сторону установленных пакетов сайта (возможно, вам потребуется использовать sudo).

С вашего StackTrace я вижу, что вы установили CPLEX в /Users/SB/Applications/IBM/ILOG/CPLEX_Studio1251/CPLEX/Python/x86_darwin/

Первый запуск (я предполагаю, что вы Python 2.7) в интерактивная оболочка:

import site; site.getsitepackages() 

Подробнее об этом шаге см. в How do I find the location of my Python site-packages directory?.

Это даст вам каталог пакетов сайтов, где вам нужно скопировать каталог «cplex». Я предполагаю, что это /Library/Python/2.7/site-packages отсюда

на макинтош затем запустить:

sudo cp -r ./cplex /Library/Python/2.7/site-packages/ 

Это настраивает CPLEX вручную как пакет для импортируемых вашей установки питона. Поэтому вы должны иметь возможность импортировать cplex внутри интерактивной оболочки python.