CentOS6にTA-libをインストールする【python・anaconda】

2019年9月2日

TA-libのインスコで悩む人は多いらしい。
自分もその一人。

ただしインスコはできた。
長時間悩んだけど、分かってしまえば簡単だった。
その覚書。

・環境
CentOS 6.7
Python 3.5
Anaconda 4



pythonのインストール

TA-libはPython3.6以上だと動かない(2019.09時点)(インストールでエラー)
そのためPython3.5を使うことになった。
※anacondaはインストール済み。

conda create -n Python35 anaconda python=3.5 #python3.5の仮想環境を作成
pyenv global anaconda3-5.3.1/envs/Python35 #python3.5に切り替え

glibcのインストール

Ta-libは「glibc」が2.14以上が必要。
でもCentOS6は2.12。

Ta-libはインスコできても、importでエラーとなってしまう。

glibcをアップデートしたいところ。
しかしglibcは、C言語の中枢であり、サーバーの中枢でもある(色んなツールがglibcに依存している)
アップデートするとサーバー全体に影響が出る可能性あり。

そのため旧glibcはそのままに、TA-lib用にglibc2.14を新しくインスコする。
並行稼働みたいな。

cd ~
mkdir hogehoge #インスコ後は削除してOK
cd hogehoge
wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
tar zxvf glibc-2.14.tar.gz
cd glibc-2.14
mkdir build
cd build
../configure –prefix=/opt/glibc-2.14
make -j4
sudo make install

最後にエラーを吐くものの、普通に動いている様子。

あとはパスを通すだけ。
export LD_LIBRARY_PATH=/opt/glibc-2.14/lib

TA-libをインストール

conda install -n Python35 -c quantopian ta-lib

試運転

python
>>import talib

これでエラーが出なければOK

書くと簡単だけど、ここまでが本当に長かった・・・。
(2日くらい試行錯誤)

エラー内容(参考)

#無理やりglibcをインスコしてパスを通したつもりだが…。import talibでエラー
/usr/lib64/libc.so.6: symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link time reference

#同上
ImportError: /lib64/libc.so.6: version `GLIBC_2.14′ not found

#linux系は「conda install ta-lib」ではインスコできない。チャネルが必要。
PackagesNotFoundError: The following packages are not available from current channels:

参考リンク:https://anaconda.org/search?q=ta-lib

その他参考

https://github.com/mrjbq7/ta-lib

https://pyalgotrade.blogspot.com/2017/10/talib.html

このエントリーをはてなブックマークに追加


最近の人気記事

簡単にできた。人の欲求からアイデアを考えるマーケティング手法
「まとめる」ことで思考力は加速する!「思考の整理学」要点
プレゼンやブログが伝わる文章の基本。良書に学ぶ「書く技術」
潰れゆく商店街から学ぶ「売れないお店の法則」
ちょっとした工夫で利益を上げる「入口」の作り方
アイデアを大量生産できる最強のフレームワーク「オズボーンのチェックリスト」
お客の心理を操れば売上があがる!26の心理サイトまとめ
「店潰れた。死にたい・・」脱サラして地獄にハマらないお店の作り方
何でやらないの?繁盛店がやっている 本当に売れる「AIDMAの法則」

このページの先頭へ