Привязка Python через QuantLib-SWIG
Я пытался заставить Python привязку для QuantLib работать некоторое время, но пока безуспешно.
Я следовал инструкциям по установке QuantLib и вики. То есть, чтобы собрать QuantLib, используя VC9, а не VC10, который прекрасно работает для меня.
Когда я пытаюсь создать установочный файл Python, мне говорят, что MSVC не может обнаружить установку QuantLib.
Пожалуйста, кто-то может быть настолько любезен, чтобы сообщить, что мне здесь не хватает Как вы уже поняли, я новичок в этом и извиняюсь, если вопрос задавался снова и снова, но я не мог найти ответ на свой вопрос на разных форумах: wilmott, sourceforge, stack переполнение, количественный обмен.
Любая помощь будет принята с благодарностью.
С наилучшими пожеланиями
Вот журнал:
c:\QuantLib\QuantLib-SWIG-1.2\Python>set INCLUDE = C:\boost\boost_1_51
c:\QuantLib\QuantLib-SWIG-1.2\Python>set QL_DIR = C:\QuantLib\QuantLib-1.2.1
c:\QuantLib\QuantLib-SWIG-1.2\Python>set LIB= C:\boost\boost_1_51\lib;C:\QuantLi
б \QuantLib-1.2.1\ Lib
c:\QuantLib\QuantLib-SWIG-1.2\Python>setup.py build
running build
running build_py
running build_ext
warning: unable to detect QuantLib installation
building 'QuantLib._QuantLib' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox
/ MD / W3 / GS- / DNDEBUG -D_WIN32_ -DWIN32 -DNDEBUG -D_WINDOWS -DNOMINMAX -IC: \ Py thon27 \ include -IC: \ Python27 \ PC "-IC: \ Program Files (x86) \ Microsoft Visual Studi o 9.0 \ VC \ INCLUDE "" -IC: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ include "-I / TpQuantLib / quantlib_wrap.cpp /Fobuild\temp.win32-2.7\Release\QuantLib/quantlib_w rap. obj / GR / FD / Zm250 / EHsc / MD cl: ошибка командной строки D8003: ошибка отсутствующего имени файла: команда '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.ex e"' Сбой при выходе из состояния 2
1 ответ
Удалите пробелы вокруг знака = при установке переменных среды, иначе Python не найдет их. Вот что происходит с коробкой WinXP, которую я до сих пор храню в офисе:
C:\Documents and Settings\lballabio>set FOO=foo
C:\Documents and Settings\lballabio>set BAR = bar
C:\Documents and Settings\lballabio>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['FOO']
'foo'
>>> os.environ['BAR']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\os.py", line 423, in __getitem__
return self.data[key.upper()]
KeyError: 'BAR'
>>>
FOO (набор без пробелов) найден; БАР (с) нет.
Отсутствие переменных QL_DIR, INCLUDE или LIB вызывает другие ошибки в каскаде.