Windows 通过QuantLib SWIG进行Python绑定

Windows 通过QuantLib SWIG进行Python绑定,windows,python-2.7,quantlib-swig,Windows,Python 2.7,Quantlib Swig,我已经尝试让QuantLib的Python绑定工作了一段时间,但到目前为止没有任何成功 我确实遵循了QuantLib安装指南和wiki。那就是使用VC9而不是VC10构建QuantLib,这对我来说很好 当我尝试构建Python安装文件时,我被告知MSVC无法检测QuantLib安装 请有人能告诉我这里缺少什么。正如你们现在已经意识到的,我对这个问题是一个初学者,如果这个问题在过去被反复问过,我很抱歉,但是我在不同的论坛上找不到我的问题的答案:wilmott,sourceforge,stack

我已经尝试让QuantLib的Python绑定工作了一段时间,但到目前为止没有任何成功

我确实遵循了QuantLib安装指南和wiki。那就是使用VC9而不是VC10构建QuantLib,这对我来说很好

当我尝试构建Python安装文件时,我被告知MSVC无法检测QuantLib安装

请有人能告诉我这里缺少什么。正如你们现在已经意识到的,我对这个问题是一个初学者,如果这个问题在过去被反复问过,我很抱歉,但是我在不同的论坛上找不到我的问题的答案:wilmott,sourceforge,stack overflow,quant exchange

任何帮助都将不胜感激

致意

以下是日志:

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
b\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:\ProgramFiles(x86)\Microsoft Visual Studio o 9.0\VC\INCLUDE“-IC:\Program Files\Microsoft SDK\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:\ProgramFiles(x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.ex
设置环境变量时,e“”失败,退出状态为2

请删除=符号周围的空格,否则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'
>>>
C:\Documents and Settings\lballabio>set FOO=FOO
C:\Documents and Settings\lballabio>set BAR=BAR
C:\Documents and Settings\lballabio>python
win32上的Python 2.7.2(默认值,2011年6月12日,15:08:59)[MSC v.1500 32位(英特尔)]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入操作系统
>>>操作系统环境['FOO']
“福”
>>>操作系统环境['BAR']
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Python27\lib\os.py”,第423行,在\uu getitem中__
返回self.data[key.upper()]
KeyError:'BAR'
>>>
找到FOO(不带空格的集合);酒吧(带)不是


没有找到QL_DIR、INCLUDE或LIB变量会导致级联中的其他错误。

Morning Luigi,这里提供的解决方案解决了这个问题。