2017-02-17 55 views
0

我試圖在我的Mac上安裝Quantlib-Python(official instructions),但是當我運行make -C Python check時,收到錯誤ImportError: No module named _QuantLib。當我重新訪問安裝步驟時,似乎一切正常:沒有名爲_QuantLib,Quantlib-Python安裝的模塊

Removing /Library/Python/2.7/site-packages/QuantLib_Python-1.9-py2.7.egg-info 
Writing /Library/Python/2.7/site-packages/QuantLib_Python-1.9-py2.7.egg-info 

任何想法發生了什麼問題?

+0

這意味着您的C++安裝無效。 – SmallChess

回答

0

Python可能無法找到您的動態C++ QuantLib庫。它應該被稱爲libQuantLib.dylib,應該是動態加載器可以找到的地方;這意味着它應該位於某個標準系統位置,如/usr/lib/usr/local/lib,或者應該設置環境變量DYLD_LIBRARY_PATH以使其包含其位置。

如果您只想使用QuantLib Python模塊,則更簡單的替代方案可能是避開動態加載。如果您清理安裝(也就是說,如果你刪除您可能已經安裝任何libQuantLib.*),你首先將其配置爲

./configure --disable-shared --enable-static 

(再加上你可能需要的任何其他標誌),當重建C++ QuantLib你運行make你會得到一個靜態庫。當您重新編譯Python包裝時,Python模塊將自己嵌入QuantLib代碼,而不是依賴動態庫的存在。

+0

嗨Luigi - 我在'python setup.py install'後得到了同樣的錯誤。我試過'--disable-shared --enable-static'但是'configure'抱怨說這些標誌沒有被識別..我正在運行MacOS Sierra/GUN g ++ 6.3/Python 3.6。你有什麼建議嗎?謝謝。 – WillZ

+0

調用configure是爲了構建C++庫,而不是Python模塊。 –

+0

是的,我知道,我認爲靜態連接會有所幫助,所以嘗試重新編譯Quantlib-SWIG v1.9,那是錯誤發生的時間。儘管我在我的/ usr/local/lib文件夾中看到了libQuantLib。* ... – WillZ

相關問題