Quantlib з python на mac?

Хто-небудь знає хорошого керівництва, щоб отримати quantlib для роботи з python om mac? Я спробував здійснити пошук в Інтернеті та не знайшов якісь корисні поради. Мені потрібно використовувати quantlib для проекту на python.

Здається, що не існує quantlib для python для mac доступних.

Дякую.

2
Я впевнений, що бачив, як Луїджі Баллабіо представив свій Quantlib на ноутбуці Python. Ви можете зробити пошук на ньому?
додано Автор John, джерело

4 Відповіді

Процес встановлення повинен бути таким самим, як і в Linux. Після встановлення бібліотеки C ++ QuantLib (інструкції для цього розміщені на сайті QuantLib, див. У розділі http://quantlib. org/install/macosx.shtml ), ви можете завантажити останню версію QuantLib-SWIG, розпакувати та запустити:

./configure
make -C Python
sudo make -C Python install

Зверніть увагу, що описана вище робота з випуском (як і у файлах, які ви отримуєте з https://sourceforge.net/projects/quantlib/files/ ), і всупереч поширеній думці, вам не потрібно встановлювати SWIG.

Instead, if you want to work from a checkout of the git repository (either because you want to modify the interfaces, or because you want a new feature which is not yet available in a release) you'll need SWIG—but not a separate command, as make takes care of it—and you'll also need to run

./autogen.sh

перед іншими командами; для цього вам знадобиться встановити automake та autoconf. (Кінець ноти.)

Є два-три застереження, про які я можу думати. По-перше, для кроку ./ configure потрібно буде викликати quantlib-config , щоб дізнатись, які прапори слід передавати компілятору та компонувальнику (вони також включатимуть додатковий включити каталоги, які ви могли вказати, коли ви побудували QuantLib, так що ви будете покриті, навіть якщо ви, скажімо, Boost в нестандартному місці). Це означає, що на вашому шляху має бути quantlib-config .

Другий - на жаль, на даний момент make ігнорує будь-який префікс, який ви можете перейти до ./configure , і завжди встановлюється в місцеположення за умовчанням, для чого потрібно використовувати sudo , як я написав вище. Якщо у вас немає прав адміністратора, вам доведеться ознайомитись з файлом Makefile і передати ваш префікс на setup.py .

По-третє, вам знадобляться файли розробки Python ( python.h і так далі). Вони можуть бути доступними за замовчуванням (і якщо вони є, make calls setup.py , які повинні їх знайти для вас); але якщо ні, то вам доведеться з'ясувати, як їх отримати.

Нарешті, якщо ви використовуєте Docker, ви можете витягнути зображення Ubuntu з установкою quantlib-python з https://hub.docker.com/r/lballabio/quantlib-python/ .

4
додано
Де останнє команда встановити модуль? (Це повинно виводити інформацію на екрані.) Ви, мабуть, повинні переконатися, що розташування знаходиться у вашому PYTHONPATH .
додано Автор Brad Tutterow, джерело
Будь-який шанс, ви можете вставити його де-небудь в мережу і опублікувати посилання? Чи щось сказано про заголовок або бібліотеку не знайдено?
додано Автор Brad Tutterow, джерело
Це дивно. Це викликає python замість swig, і, звичайно ж, аргументи командного рядка не мають сенсу для цього. Але це взагалі не слід кликати. Ви працюєте з релізу? Чи пропустили ви прапор ./configure ?
додано Автор Brad Tutterow, джерело
додано Автор Brad Tutterow, джерело
Привіт, я спробував цей метод, використовуючи останню версію QuantLib-SWIG, використовуючи команди, які ви мені дали. Однак при спробі використовувати імпорт QuantLib як ql в python це не працює. Він як і раніше говорить: "Ні модуля під назвою QuantLib"
додано Автор aLu, джерело
Фактично у мене є проблеми з виготовленням C-Python, це дає довгу помилку: clang: помилка: немає такого файлу або каталогу: 'QuantLib/quantlib_wrap.cpp' clang: помилка: немає вхідних файлів помилка: команда 'cc' не вдалася з виходом 1 make [1]: *** [build-stamp] Помилка 1 make: *** [install] Помилка 2,
додано Автор aLu, джерело
Тут ви йдете: pastebin.com/cztK0GW8
додано Автор aLu, джерело
Було б чудово, якщо б я міг це зробити,
додано Автор aLu, джерело

Напевно, найпростіший спосіб отримати це через MacPorts, який буде зацікавитись Python залежностями тощо для вас. Якщо ви ще цього не зробили, ви можете почати роботу з MacPorts за допомогою цих інструкцій .

Після встановлення MacPorts ви можете просто викликати

sudo port install QuantLib

яка в значній мірі виконує офіційні рекомендації від людей QuantLib з правильні покажчики бібліотеки .

1
додано
Дякуємо за роз'яснення ... Я думаю, що я спробував це тільки з R. Чи є хороший спосіб додати зв'язки з MacPorts Python?
додано Автор Dean Bates, джерело
Це, однак, встановлює бібліотеку C ++. Це не схоже на прив'язки Python.
додано Автор Brad Tutterow, джерело
Я б не знав. Я не знайомий з MacPorts.
додано Автор Brad Tutterow, джерело

як і запис, я склав для QuantLib 1.9 і Python 2.7.12. Я встановив QuantLib за допомогою макропосів, потім я витратив багато часу, намагаючись зрозуміти помилку компіляції. Зробіть так:

1) Ігнорувати ./configure та зробити кроки 2) Перейти прямо до папки Python 3) run: python setup.py build 4) після скарги на i386 crap і x86_64 запустіть таке (знов складіть):

g ++ -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -g -DNDEBUG -g -fwrapv -O3 -Wall -Швидкі прототипи -I/Library/Frameworks/Python.framework/Версії/2.7/include/python2 .7 -I/opt/local/include -I/opt/local/include -c QuantLib/quantlib_wrap.cpp -o build/temp.macosx-10.6-intel-2.7/QuantLib/quantlib_wrap.o -Wno-unused

5) Пов'язати знову:

g ++ -об'єднання -не визначено dynamic_lookup -arch x86_64 -g build/temp.macosx-10.6-intel-2.7/QuantLib/quantlib_wrap.o -L/opt/local/lib -L/opt/local/lib -lQuantLib -o build/lib.macosx-10.6-intel-2.7/QuantLib/_QuantLib.so

6) НЕ ВИКОРИСТОВУЙТЕ встановити python setup.py

7) Запустіть python test setup.py, перевірте, чи працює він

8) скопіюйте папку QuantLib у файлах build/lib.macosx-10.6-intel-2.7/до веб-сайтів python (Frameworks/Python.framework/Versions/2.7/lib/Python2.7/site-packages).

Перевірте це в інтерпретаторі. Речі, які інші можуть досягти:

Чесно кажучи, я не знаю причини для двох архітектурних прапорів у процесі зборки (-arch i386 -arch x86_64), але я знаю, що це проблема для з'єднання libs. Я перевірив все в змінних setup.py та середовищі, я не знаю, де він встановлений. Крім того, я не знаю, чому встановлення sudo python setup.py не може правильно перемістити файли.

1
додано

Я вважаю Enthought пакувальними файлами Python, що мають обмежений обсяг. Переконайтеся, що ви встановили QuantLib та його залежності:

git clone https://github.com/enthought/pyql.git
cd pyql
python setup.py build
python setup.py test
python setup.py install

В іншому випадку канонічним способом є використання прив'язки SWIG для OS X .

0
додано
Я знаю бібліотеку Enthought, але вона занадто обмежена. Це більше як прототип.
додано Автор John, джерело
ІТ КПІ - Python
ІТ КПІ - Python
625 учасників

Канал обговорень про всякі штуки зі світу пайтону. Прохання: 0. мати повагу одне до одного; 1. не матюкатися в сторону людей; 2. не захламляти тред повідомленнями по одному слову;