Binaryzando Todos os erros →

ta-lib não instala: falta a biblioteca C, não o pacote Python

O ta-lib do Python é só uma casca. Por baixo dele existe uma biblioteca escrita em C que precisa estar instalada antes — e é a ausência dela que faz a instalação explodir.

error: subprocess-exited-with-error fatal error: ta-lib/ta_libc.h: No such file or directory ERROR: Failed building wheel for TA-Lib

Windows

Compilar C no Windows é trabalho para quem gosta. O caminho prático é instalar um pacote já compilado (arquivo .whl), escolhido para a sua versão de Python e a arquitetura da máquina. Descubra as duas assim:

python -c "import sys; print(sys.version)"
python -c "import struct; print(struct.calcsize('P') * 8, 'bits')"

Com o arquivo certo em mãos, instale apontando para ele:

pip install caminho\para\TA_Lib-arquivo-baixado.whl

Um .whl de versão errada instala e depois falha no import — se isso acontecer, quase sempre é incompatibilidade de versão ou de bits.

Linux

Aqui dá para instalar a biblioteca C de verdade, e aí o pacote Python compila sozinho:

sudo apt-get install build-essential wget
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xzf ta-lib-0.4.0-src.tar.gz
cd ta-lib/
./configure --prefix=/usr
make
sudo make install
cd ..
pip install ta-lib

A alternativa que quase ninguém considera

Vale perguntar se você precisa mesmo dele. Se o seu robô usa quatro ou cinco indicadores — média móvel, RSI, bandas, MACD — existem bibliotecas em Python puro que instalam com um comando e nunca mais dão trabalho:

pip install pandas-ta

O ta-lib compensa por desempenho, em volume grande de cálculo. Para um robô que avalia uma vela por minuto, essa vantagem não aparece — e o custo de instalação é real.

Um detalhe que muda resultado

Implementações diferentes do mesmo indicador dão números ligeiramente diferentes (o RSI tem mais de uma forma de suavização, por exemplo). Se você testou a estratégia com uma biblioteca e opera com outra, o robô não está executando exatamente o que você mediu.

Antes de deixar o robó operar

Consertar o erro faz o robô rodar — não faz ele ganhar. O Binaryzando testa a sua estratégia no histórico real de velas antes de você arriscar dinheiro nela, e sela o resultado numa carta com código verificável — para o número não poder ser editado depois.

Testar minha estratégia