Windows 10 安裝TA-Lib python庫


由於需要和朋友比對一個結果,需要在Windows 10中安裝TA-Lib庫,寫點簡單的python代碼。

本來以為就簡單的執行下pip install TA-Lib就OK了。

然后,安裝失敗:

fatal error: ta-lib/ta_libc.h: No such file or directory
compilation terminated.
網上搜索,提示:This typically means that it can't find the underlying TA-Lib library, a dependency which needs to be installed.
但是沒有進一步說怎么安裝TA-Lib庫。於是翻看setup.py代碼,發現如果是win32系統,會到C盤去找TA-Lib庫

於是直接把ta-lib-0.4.0-msvc.zip里的 ta-lib/c 目錄里的所有內容拷貝到c:\ta-lib\c 下。

執行pip install TA-Lib。
然后,安裝還是失敗:

common.obj : warning LNK4197: export 'PyInit_common' specified multiple times; using first specification
       Creating library build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib and object build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.exp
    common.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod
    common.obj : error LNK2001: unresolved external symbol TA_Shutdown
    common.obj : error LNK2001: unresolved external symbol TA_Initialize
    common.obj : error LNK2001: unresolved external symbol TA_GetUnstablePeriod
    common.obj : error LNK2001: unresolved external symbol TA_GetVersionString
    build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd : fatal error LNK1120: 5 unresolved externals
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\link.exe' failed with exit status 1120

鏈接錯誤。。。。。。翻看了一些ta-lib在github上的issue,里面提到ta-lib的C庫是32位的。
但是pip安裝的時候需要編譯common.c,然后再和ta-lib的C庫中的lib鏈接起來,問題就在這里了。github上有人建議重新在64位下編譯ta-lib庫來解決這個問題。

經過幾番掙扎,最后的解決方法是:
開始  -> 所有程序 -> Mircosoft Visual Studio 2010 -> visual studio tools -> Visual Studio x64 win64 command prompt (2010)

在VS x64 win64命令行下,cd C:\ta-lib\c\make\cdr\win32\msvc 目錄下,執行nmake
等執行完畢后,再運行pip install ta-lib, 這次終於成功了

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM