🤖

Raspberry Pi 5 に TA-Lib をインストールする

2024/06/08に公開

pip installではインストールできない

そのままではinstallに失敗します。

Building wheels for collected packages: TA-lib
  Building wheel for TA-lib (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for TA-lib (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [21 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-38
      creating build/lib.linux-aarch64-cpython-38/talib
      copying talib/abstract.py -> build/lib.linux-aarch64-cpython-38/talib
      copying talib/deprecated.py -> build/lib.linux-aarch64-cpython-38/talib
      copying talib/__init__.py -> build/lib.linux-aarch64-cpython-38/talib
      copying talib/stream.py -> build/lib.linux-aarch64-cpython-38/talib
      running build_ext
      building 'talib._ta_lib' extension
      creating build/temp.linux-aarch64-cpython-38
      creating build/temp.linux-aarch64-cpython-38/talib
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DOPENSSL_NO_SSL3 -fPIC -I/usr/include -I/usr/local/include -I/opt/include -I/opt/local/include -I/opt/homebrew/include -I/opt/homebrew/opt/ta-lib/include -I/tmp/pip-build-env-1ngkrrd5/normal/lib/python3.8/site-packages/numpy/core/include -I/home/kaizin-z/.pyenv/versions/3.8.13/include/python3.8 -c talib/_ta_lib.c -o build/temp.linux-aarch64-cpython-38/talib/_ta_lib.o
      talib/_ta_lib.c:1225:10: fatal error: ta-lib/ta_defs.h: そのようなファイルやディレクトリはありません
       1225 | #include "ta-lib/ta_defs.h"
            |          ^~~~~~~~~~~~~~~~~~
      compilation terminated.
      <string>:75: UserWarning: Cannot find ta-lib library, installation may fail.
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for TA-lib
Failed to build TA-lib
ERROR: Could not build wheels for TA-lib, which is required to install pyproject.toml-based projects

インストールする方法

https://darshasilje.hatenablog.jp/entry/2023/04/22/175910
こちらのブログでは同様の問題に対処しているようです。
しかし、その方法ではうまくいきませんでした。

以下の方法でインストールできることを確認しました。

まず、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

次に最新のconfig.subとconfig.guessをダウンロードします。

wget -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
wget -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
chmod +x config.sub config.guess

インストールします。

./config.guess
./configure --prefix=/usr
make
sudo make install

その後pipで正常にインストールすることができます。

pip install ta-lib

Discussion