2013-06-03 46 views
0

我一直在试图让QuantLib的Python绑定工作一段时间,但目前为止没有任何成功。通过QuantLib-SWIG进行Python绑定

我确实遵循了QuantLib安装指南和wiki。那是使用VC9构建QuantLib而不是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 

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:\ 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:缺少源文件名 错误:command'“C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ BIN \ cl .ex e“'失败并退出状态2

+0

上午路易吉,这里提供的解决方案解决了这个问题。 – user2448864

回答

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(set without spaces)is found; BAR(with)不是。

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