scikit-learnインストール時のエラー対策
スポンサーリンク
scikit-learnインストール時のエラー対策2に別の対策方法を書きました.
CentOS7上のvirtualenvにscikit-learnをインストールした際に発生したエラーの解決法
エラー内容
scikit-learnインストール時に以下のエラーが出力された
(VENV)$ pip install scikit-learn ...(省略)... g++ -pthread -shared build/temp.linux-x86_64-2.7/sklearn/svm/liblinear.o build/temp.linux-x86_64-2.7/sklearn/svm/src/liblinear/linear.o build/temp.linux-x86_64-2.7/sklearn/svm/src/liblinear/tron.o -L/usr/lib64/atlas -Lbuild/temp.linux-x86_64-2.7 -lcblas -lm -o build/lib.linux-x86_64-2.7/sklearn/svm/liblinear.so /bin/ld: -lcblas が見つかりません collect2: エラー: ld はステータス1で終了しました /bin/ld: -lcblas が見つかりません collect2: エラー: ld はステータス1で終了しました error: Command "g++ -pthread -shared build/temp.linux-x86_64-2.7/sklearn/svm/liblinear.o build/temp.linux-x86_64-2.7/sklearn/svm/src/liblinear/linear.o build/temp.linux-x86_64-2.7/sklearn/svm/src/liblinear/tron.o -L/usr/lib64/atlas -Lbuild/temp.linux-x86_64-2.7 -lcblas -lm -o build/lib.linux-x86_64-2.7/sklearn/svm/liblinear.so" failed with exit status 1 ---------------------------------------- Command "$HOME/.pyenvdir/nipy/bin/python2.7 -c "import setuptools, tokenize;__file__='/tmp/pip-build-hwRkIK/scikit-learn/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-4iIt4Q-record/install-record.txt --single-version-externally-managed --compile --install-headers $HOME/.pyenvdir/nipy/include/site/python2.7/scikit-learn" failed with error code 1 in /tmp/pip-build-hwRkIK/scikit-learn
対策
まずsudo
でインストールを試してみると以下のエラーが出力された
(VENV)$ sudo pip install scikit-learn ...(省略)... from numpy.distutils.core import setup ImportError: No module named numpy.distutils.core
これはnumpyのバージョンが1.10.1であることが原因なので
(VENV)$ pip uninstall numpy (VENV)$ pip install numpy==1.9.3
ここでscikit-learnをインストールする
(VENV)$ pip install scikit-learn Successfully installed scikit-learn-0.16.1
追記
上記の方法でscikit-learnをインストールした後にnumpyをアップデートしても問題なく動いてる...