Amazon LinuxにTa-Libをインストールする方法

この記事は約6分で読めます。
スポンサーリンク

自分自身が「毎回」インストール方法を忘れて、手順を探すのに1時間くらいかかるので・・・自分の備忘録用にメモです。

Amazon LinuxにTa-Libをインストールする手順となります。

Ta-Libについて

Pythonで簡単にテクニカル指標を算出できるライブラリです。コアライブラリはPythonに限らず様々なコンポーネントに対応しています。

以前も以下の記事でMacへの導入方法について紹介しました。

このTa-Libライブラリ、非常に便利です。算出に細かい数式が必要なテクニカル指標を1行で算出できる。数学に疎い私には夢のようなライブラリ。

しかし!インストールがややこしい。単純にpip installではダメで、環境に応じてインストールする手順が違ったりする。

さらにネット上の手順だけだと不足していたり(公式ページでさえも!)、毎回ハマるのです。

Amazon Linuxへのインストールでハマった

で、今回もハマりました。

実は、とある理由でAmazon LinuxにTa-Libをインストールする必要性が出てきまして、、今回も見事にハマりました。

で、以下の記事を非常に参考にさせていただき、何とか導入ができたので、コマンドを記します。

>>EC2 Amazon Linux 2にPython wrapper for TA-Libをインストールする

基本的に上記のコマンドリストで完結するのですが、2つ考慮点を。

Python3のインストールについて

Amazon Linuxだと以下ができないようです。

$ sudo yum install python3 -y
$ sudo yum install python3-devel -y

Amazon Linuxが参照するyumリポジトリに「python3」が存在しないため。なので、もう少し詳細のPythonバージョンを指定する必要がありました。

sudo yum install python36 -y
sudo yum install python36-devel -y

多分python37もいけるはずです。

pipのアップグレードも「pip36」を指定してあげます。

sudo /usr/bin/pip36 install --upgrade pip

メモリ512MBだと足りないので、スワップを追加する

この後、上記のリンクの手順の通り、Ta-Libをインストールしていきます。

$ sudo yum groupinstall "Development Tools" -y

$ wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
$ tar xvzf ta-lib-0.4.0-src.tar.gz

$ cd ta-lib
$ ./configure --prefix=/usr
$ make
$ sudo make install

$ sudo bash -c "echo "/usr/local/lib64" >> /etc/ld.so.conf"
$ sudo /sbin/ldconfig

$ sudo /usr/local/bin/pip install ta-lib

すると、最後の「install ta-lib」の箇所でエラーが発生。

エラー内容を見ると「メモリが足りない」を示唆するエラーだったので、スワップを追加することにより対応しました。

私が使用したAWSの仮想環境はメモリが512MBという超貧弱VMだったので、メモリが足りなくなったのでしょう。

スワップを2GB追加しました。

dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile

上記でオンライン(停止せず)にスワップ領域が追加できるはずです。

スワップ追加後に再度「sudo /usr/local/bin/pip install ta-lib」を実行することで、無事導入ができました。

それでも導入できない場合・・・

もうAmazon Linuxに直接導入を諦めてDockerでやっちゃったほうが早いかもしれません。

Dockerfile

FROM python:3.7.5-slim
USER root

RUN apt-get update
RUN apt-get -y install locales && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm

RUN apt-get install -y vim less
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools

RUN apt-get -y install build-essential
RUN apt-get -y install wget
RUN pip install numpy
RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
RUN tar -zxvf ta-lib-0.4.0-src.tar.gz && \
    cd ta-lib && \
    ./configure --prefix=/usr && \
    make && \
    make install && \
    cd .. && \
    rm -rf ta-lib-0.4.0-src.tar.gz && rm -rf ta-lib
RUN pip install TA-LIB

docker-compose.yml(オプション)

version: '3'
services:
  talib:
    restart: always
    build: .
    container_name: 'talib'
    working_dir: '/root/'
    tty: true

これで「docker-compose up -d –build」で動作するはずです。(私の環境でうまくいきました)

最後に

上記のリンクで手順を紹介してくださっている方には、感謝でいっぱいです。

コメント

タイトルとURLをコピーしました