0.事前に
このページの手順に則ってpython3の環境を構築後、
scikit-learnを使った処理を実行しようとしたところ、下記のエラーが発生した。
ImportError: No module named '_bz2'
調べたところ、bzip2-develが必要らしいので下記インストール。
$ sudo yum install bzip2-devel
この上で「1.python3.5のインストール」から再度やり直したところうまくいったので、同じ件でハマった方はご注意ください。
1.python3.5のインストール
ここではpython3.5.1をインストールする。
利用環境はGoogle Cloud PlatformのCentOS7
# ダウンロード
$ cd /tmp
$ curl -O https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
$ tar zxf Python-3.5.1.tgz
$ cd Python-3.5.1
# prefixに指定したディレクトリへインストールする
$ ./configure --prefix=/usr/local
$ make
# ここではroot権限でインストールしているが、私的利用であればsudoをつける必要はない
$ sudo make altinstall
2.virtualenvを使ってpython3.5環境を構築
virtualenv自体はインストール済(入れていない場合は$ pip install virtualenv
でインストールできる)
$ pip freeze | grep virtualenv
virtualenv==15.0.3
python3.5環境を構築
$ cd /usr/share/virtualenv/
# 作成
# ここではroot権限でインストールしているが、私的利用であればsudoをつける必要はない
$ sudo virtualenv -p /usr/local/bin/python3.5 venv35
# 有効化
$ . venv35/bin/activate
# 確認
$ which python
/usr/share/virtualenv/venv35/bin/python
$ which pip
/usr/share/virtualenv/venv35/bin/pip
3.利用したいライブラリをインストール
用途・目的に合わせて必要なpythonライブラリをインストールする。
# ここではroot権限でインストールしているが、私的利用であればsudoをつける必要はない
# rootで実行する場合、pipのパスを明示的に指定してやる
$ sudo /usr/share/virtualenv/venv35/bin/pip install \
numpy \
scipy \
sklearn \
gensim \
mecab-python3 \
nltk