2017-02-17 5 views
0

Я пытаюсь установить Quantlib-Python на свой Mac (official instructions), но когда я запустил make -C Python check, я получаю сообщение об ошибке ImportError: No module named _QuantLib. Когда я пересматриваю шаги установки, кажется, что все работает:Нет модуля с именем _QuantLib, установка Quantlib-Python

Removing /Library/Python/2.7/site-packages/QuantLib_Python-1.9-py2.7.egg-info 
Writing /Library/Python/2.7/site-packages/QuantLib_Python-1.9-py2.7.egg-info 

Любая идея, что пойдет не так?

+0

Это означает, что ваша установка на C++ неверна. – SmallChess

ответ

0

Возможно, Python не смог найти вашу динамическую библиотеку C++ QuantLib. Его следует, вероятно, называть libQuantLib.dylib, и он должен находиться там, где его может найти динамический загрузчик; это означает, что он должен находиться в некотором стандартном системном местоположении, таком как /usr/lib или /usr/local/lib, или что вы должны установить переменную окружения DYLD_LIBRARY_PATH так, чтобы она включала ее местоположение.

Если вы хотите использовать только модуль QuantLib Python, проще всего обойти динамическую загрузку. Если очистить установку (то есть, если вы удалите libQuantLib.*, что вы, возможно, установили) и пересобрать C++ QuantLib по первой настройке как

./configure --disable-shared --enable-static 

(плюс любые другие флаги вы, возможно, потребуется), когда вы запустите make, вы получите статическую библиотеку. Когда вы перестраиваете оболочки Python, модуль Python затем внедряет сам код QuantLib вместо того, чтобы полагаться на присутствие динамической библиотеки.

+0

Привет Луиджи - У меня такая же ошибка после 'python setup.py install'. Я попробовал '--disable-shared -enable-static', но' configure' жаловался, что эти флаги не были распознаны. Я запускаю MacOS Sierra/GUN g ++ 6.3/Python 3.6. Что бы вы ни предложили? Благодарю. – WillZ

+0

Вызов configure предназначен для создания библиотеки C++, а не для модуля Python. –

+0

Да, я знаю, я думал, что связывание статически поможет, поэтому попытался перекомпилировать Quantlib-SWIG v1.9, вот тогда и произошла ошибка. Хотя я вижу libQuantLib. * В папке/usr/local/lib ... – WillZ

Смежные вопросы