Docker内安装talib

警告
本文最后更新于 2024-10-13,文中内容可能已过时。

docker run continuumio/anaconda3:2023.09-0

sh


# ta-lib安装
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/
sudo ./configure
sudo make
sudo make install

#必须在指定环境中安装
conda activate $(your_env)
pip install ta-lib

python

# 不用引入ta-lib,ta-lib安装后环境下的python脚本只要引用到了numpy必然报错
import backtrader as bt

if __name__ == "__main__":
    cerebro = bt.Cerebro()

# 运行
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

ta-lib不支持高于2.0.0的numpy,卸载后,根据自己环境安装低于2.0.0的numpy包问题即可解决, 我这里使用的是在2024-10-12时的最高版本,低版本安装不上会报错

py

pip install numpy==1.26.4

numpy的python包已经写明依赖项