1. 程式人生 > >win7下安裝ta-lib報錯解決

win7下安裝ta-lib報錯解決

在windows 7 x64下安裝ta-lib包


python 2.7 x86,32位
anaconda2 4.0.0-32位(Anaconda2-4.4.0-Windows-x86)
如果Python,或者anaconda是3.5以上,64位,可以直接:conda install ta-lib或者pip install ta-lib即可。


以下主要說明32位python安裝ta-lib的步驟和錯誤解決。






一、下載Microsoft Visual C++ Compiler for Python 2.7
https://www.microsoft.com/en-us/download/confirmation.aspx?id=44266
VCForPython27.msi(80多MB,請自己下載吧)
雙擊VCForPython27.msi安裝




二、下載ta-lib原始碼包:
http://http//prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip【本教程有提供,可以不用下載】
MSVC是微軟windows版的talib
解壓到C:\ta-lib
這時候,我們繼續執行pip install TA-Lib,很可能你就安裝成功了。但如果你是64位的系統,可能還是會遇到問題
common.obj : error LNK2019: unresolved external symbol TA_Initialize referenced in function __pyx_pf_5talib_6common_2_ta_initialize
這個問題有點高階,看起來說是連結錯誤,很多人到這就不知道怎麼辦了,網上也沒有很好的辦法。這個問題的來由是,我們下載的ta-lib除了標頭檔案外,還有編譯好的庫,但是這個庫是32位系統編譯好的,所以我們需要在64位系統下面重新編譯它。還好,我們下載的ta-lib就包含了原始碼,而編譯工具就是之前安裝的Microsoft Visual C++ Compiler for Python 2.7。


開啟【開始選單】》【Microsoft Visual C++ Compiler Package for Python 2.7】》【Visual C++ 2008 64-bit Command Prompt】,然後在控制檯裡面進入到目錄C:\ta-lib\c\make\cdr\win32\msvc。執行nmake,一段時間後,新的64位庫就編譯好了






三、下載ta-lib的python包【本教程有提供,可以不用下載】
Python Extension Packages for Windows - Christoph Gohlke
http://www.lfd.uci.edu/~gohlke/pythonlibs/
TA-Lib, a wrapper for the TA-LIB Technical Analysis Library.
TA_Lib‑0.4.10‑cp27‑cp27m‑win32.whl


繼續在剛才這個Visual C++ 2008 64-bit Command Prompt下執行pip install c:\downloads\TA_Lib‑0.4.10‑cp27‑cp27m‑win32.whl
提示:successful xxxx。
在python下import talib,沒報錯,成功了。




四、報錯注意:
步驟三如果使用pip install TA-Lib。。。有可能還會報下邊的錯:
    common.c
    talib\common.c(240) : fatal error C1083: Cannot open include file: 'ta_libc.h': No such file or directory
使用上面提到的whl檔案,pip install ***.whl即可。




參考內容:
python27在windows環境安裝talib的方法 - kuailelife - CSDN部落格
http://blog.csdn.net/kuaile20/article/details/68594755


Windows下安裝TA-Lib - AegisRC的專欄 - CSDN部落格
http://blog.csdn.net/yiigel/article/details/54353758


Windows 10 安裝TA-Lib python庫 - 哈魯曼 - 部落格園
http://www.cnblogs.com/Hanuman/p/5943608.html