我遇到了完全相同的问题,并成功解决并在Linux和我的OSX笔记本电脑上安装了TA-lib。这里我将坚持使用针对CentOS的linux说明,但两种操作系统的技巧都是相同的...在使用pip安装python包装器之前,必须在计算机上安装TA-lib二进制库。
我使用的参考链接:https://github.com/mrjbq7/ta-lib
如果此命令失败:
pip install TA-lib
对 ta_libc 标头文件进行抱怨:
func.c:256:28: fatal error: ta-lib/ta_libc.h: No such file or directory
compilation terminated.
在安装Python包装器之前,您需要先安装TA-lib二进制文件。我按照以下步骤进行了下载:
I downloaded it as follows:
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
然后解压、编译并安装它:
tar -xvf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure --prefix=/usr
make
sudo make install
sudo ldconfig
如果您的机器上没有gcc和/或python3-dev,那么上述步骤可能会让您感到困难。最初我也遇到了类似的问题,所以我使用以下命令解决了依赖关系:
sudo yum install gcc
sudo yum install python36-dev
然后重新从头开始执行步骤,这一次成功了。上述解决方案在我的情况下有效。
希望能对你有所帮助,祝好运!
顺便说一句,这是我第一次在这里回答问题,希望能帮助到某些人。我过去一直用StackOverflow解决很多问题,所以我希望能回报社区。
2018-08-30更新:我一直遇到编译问题,特别是会反复出现以下错误。原来是我在虚拟机中的内存不足(1GB)。解决方法请参考(https://github.com/mrjbq7/ta-lib/issues/133),所以我将内存升级为2GB,问题得以解决。
talib/_ta_lib.c:208671:15: warning: assignment from incompatible pointer type [enabled by default]
2021-03-06更新:OSX Catalina更新!在OSX Catalina(10.15+)上编译TA-lib时,上述说明无效,我不得不进行修改:
tar -xvf ta-lib-0.4.0-src.tar.gz
cd ta-lib
./configure
make
sudo make install
之后,pip安装成功。 -