Python
virtualenv
python3

CentOS7にpython3環境を構築する

More than 1 year has passed since last update.

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