python安装talib常见有如下两种错误
错误类型一: _ta_lib.obj : error LNK2019: unresolved external symbol _TA_xxxx;对应中文为:_ta_lib.obj : error LNK2001: 无法解析的外部符号 TA_xxxx。
错误类型二:“ta_libc.h”: No such file or directory。
备注:有的时候错误会显示为error: could not build wheels for ta-lib, which is required to install pyproject.toml-based projects,这个错误的根本原因还是上述错误类型二。
- 先解释一下talib安装过程:
- pip install ta-lib命令会自动编译cython,这个编译过程依赖于talib的C库。
- 如果c盘不存在talib的c库,则会报错误类型二
- 下载c库后,如果python是64位,则会报错误类型一,因为talib的c库默认是32位。此时在本机重新编译c库就行了。
下面是解决问题的具体操作步骤。
- 对于Linux,
- 先下载文件http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz,
- 然后解压,
- 再编译,
- 安装好基础库后,执行 pip install ta-lib,就可以安装成功。
- 具体介绍见官方文档(找到源码,源码包里面有介绍如何安装talib)。2022-12-5踩坑后实验成功。
- 对于Windows,
- 先下载文件http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-msvc.zip,
- 把下载好的压缩文件解压c盘根目录,必须是c盘,否则py编译时会找不到c库。
- 命令行进入到刚刚解压的目录C:\ta-lib\c\make\cdr\win32\msvc,这个目录下有个Makefile文件,在该目录下执行nmake命令,会自动编译这个项目。普通的cmd或power shell环境没有nmake命令,可以下载任意版本的vs,vs自带了**** Tools Command Prompt for VS 20**,这些环境里面有nmake命令。下图是带了nmake命令的cmd环境。
编译完成后,再执行pip install ta-lib,就可以安装成功。