我正在使用pydev和virtualenv(已经成功设置)。如何将Quantlib(以及与此相关的任何Python包装器及其C ++本机库)添加到virtualenv?

here所述,我从源代码成功构建了quantlib和quantlib-SWIG。我注意到在boost构建之后,// usr / local / lib包含libQuantLib。*文件,它们可能是本机lib。

然后,我尝试将libQuantLib。*复制到我的virtualenv / lib / python2.7 / site-packages中,如here所述,但是eclipse仍然抱怨未解决的导入(这时我还在外部引用// usr / local / lib / QuantLib-SWIG-1.4 / Python / build / lib.linux-x86_64-2.7 / QuantLib文件夹)。我不确定我是否可以正常工作。

我已经看过this解决方案,但我确实希望virtualenv中包含所有内容-python包装器和C ++库,因此当我将项目的pydev解释器设置为virtualenv时,所有内容都可以解决。

我不确定这里有什么最佳做法。

最佳答案

我对virtualenv的设置方式不熟悉。但是:从您的Python模块位于virtualenv/lib/python2.7/site-packages的事实来看,我猜测本机库应该位于virtualenv/lib中。不过,在此处进行所有设置的正确方法是告诉构建机器您想在哪里存储库。在您的情况下(并假设我上面的猜测是正确的),您可以通过构建QuantLib来实现:

./configure --prefix=/path/to/virtualenv
make
make install


其中,/path/to/virtualenv是您的virtualenv的路径,包括virtualenv文件夹(但不是lib)。这会将头文件和本机库放在virtualenv中的正确位置。之后,使用刚刚安装的QuantLib库构建QuantLib-SWIG:我认为最简单的方法是从virtualenv内部进行操作(即,使用其中的Python解释器)。激活环境,进入QuantLib-SWIG / Python目录,然后运行:

export PATH=/path/to/virtualenv/bin:$PATH
python setup.py build
python setup.py install


可能需要在上面设置PATH来找到正确的quantlib-config脚本。 (顺便说一句,您最终应该只在QuantLib中使用一个site-packages Python模块,而不是现在的全部build/lib.linux-x86_64-2.7东西。)

关于python - 如何将QuantLib添加到virtualenv(ubuntu),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26701348/

10-12 21:06