自分自身が「毎回」インストール方法を忘れて、手順を探すのに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」で動作するはずです。(私の環境でうまくいきました)
最後に
上記のリンクで手順を紹介してくださっている方には、感謝でいっぱいです。
コメント