我遇到了完全相同的问题,并且能够解决它并在 Linux 和我的 OSX 笔记本电脑上安装 TA-lib。我将在这里特别遵循 CentOS 的 linux 指令,但两者的诀窍是相同的……您必须在机器上安装 TA-lib 二进制库,然后才能使用 pip 安装 python 包装器。
我使用的参考资料:ttps://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 二进制文件。我下载它如下:
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 UDPATE:我一直遇到编译问题,特别是下面列出的错误会重复发生。事实证明,我在虚拟机中没有足够的 RAM (1GB)。解决方案参考:( https://github.com/mrjbq7/ta-lib/issues/133)所以我升级了RAM(2GB)并且问题消失了。
talib/_ta_lib.c:208671:15: warning: assignment from incompatible pointer type [enabled by default]
2021-03-06 UDPATE: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 安装工作正常。——</p>