Установка Anaconda Python для Gurobi 6.0.4 Ошибка _Py_FalseStruct

Для решения задачи оптимизации мы установили Gurobi 6.0.4 вместе с

  • Anaconda (версия 2.2.0) Python (Python 2.7.9.) на
  • Выпуск Linux CentOS 6.6 (финальный) с ядром 2.6.32-504.16.2.el6.x86_64

Следуя инструкциям по установке Gurobi (перечислены здесь: http://www.gurobi.com/documentation/6.0/quickstart_linux.pdf)

все получилось на первом этапе. Gurobi был установлен, можно было получить лицензию. Также переменные PATH были установлены (в .bashrc) в соответствии с руководством, с небольшим расширением для ссылки на anaconda python (а не на другие локальные версии python (2.7 и 3.4):

export GUROBI_HOME="/opt/gurobi604/linux64"
export PATH="${PATH}:${GUROBI_HOME}/bin:${PATH}:opt/anaconda/bin"
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib"

Следуя процедуре, которую мы выполнили: python2.7 setup.py install в соответствующем каталоге /opt/gurobi604/linux64. После этого обычно вы можете запустить команду import gurobipy в интерпретаторе Python без ошибок. Для более старых версий Gurobi (например, 5.6.3) это работает очень хорошо.

Хотя для 6.0.4 мы постоянно получаем ошибку:

 ImportError: /opt/anaconda/lib/python2.7/site-packages/gurobipy/gurobipy.so: undefined symbol: _Py_FalseStruct

Это очень воспроизводимо, независимо от того, поместим ли мы anaconda также в глобальный путь и проверим bash на любую перезапись переменных среды, что не так.

В Windows 8 Gurobi 6.0.4 и Anaconda Python 2.2.0 работают вместе без проблем.

Также применение подсказок отсюда: Ошибка модуля Python в Linux не сработало.

Кто-нибудь еще испытывал эти проблемы с этой комбинацией инструментов? спасибо.


person Alexander Schuller    schedule 16.06.2015    source источник
comment
Вы нашли решение этого? Я борюсь с этим прямо сейчас, используя версию 6.5.0 на Gentoo Linux.   -  person Jeremy W. Murphy    schedule 24.01.2016


Ответы (2)


Сообщение об ошибке указывает, что вы используете модуль Python для версии 3.4 в каталоге пакетов Python 2.7. Это может произойти, если вы не очищаете каталог сборки модуля Python между сборками. Пожалуйста, попробуйте следующее:

  1. Полностью удалите пакет 2.7 из установки Python 2.7 (например, удалите /opt/anaconda/lib/python2.7/site-packages/gurobipy)
  2. Полностью удалите каталог сборки модуля Python из вашей установки Gurobi (например, /opt/gurobi604/linux64/build)
  3. Повторно запустите процесс сборки модуля Python 2.7 (например, запустите «python2 setup.py install» в /opt/gurobi604/linux64)

Обратите внимание, что CentOS в настоящее время является неподдерживаемой платформой для Gurobi.

person Kostja    schedule 26.01.2016
comment
Спасибо за подсказку, я думаю мы так пробовали, но так и не закончили процедуру. Мы пытались очистить систему, но в этом конкретном случае по-прежнему не работают обе версии Python (из-за других приложений, использующих 3.4) на машине. - person Alexander Schuller; 27.01.2016

Спасибо за подсказку, я думаю мы так пробовали, но так и не закончили процедуру. Мы пытались очистить систему, но в этом конкретном случае по-прежнему не работают обе версии Python (из-за других приложений, использующих 3.4) на машине. Наше решение в этом случае состояло в том, чтобы просто переустановить все на виртуальной машине Ubuntu 14.04. С тех пор больше проблем не возникало. (Я знаю не самое чистое решение.)

У нас были некоторые похожие проблемы, когда мы обновлялись до Gurobi 6.5, но их можно было решить, если правильно решить обычные проблемы с путями.

В любом случае спасибо за ответ, я думаю, это действительно поможет нам при следующем, затем чистом развертывании :-)

person Alexander Schuller    schedule 27.01.2016