Python環境の構築
機械学習によるデータ解析を行う際には、python, R言語, matlabと言った プログラミング言語を利用することが一般的ですが、本サイトではpythonを 用いた解析例を示していきます。 理由としては、既存のライブラリが多数存在することと、 初学者にも分かりやすい文法になっていることが挙げられます。
以下では、まずWindows環境へのpythonの導入方法を説明していきます。 Pythonの開発環境の構築方法には諸説ありますが、今回は pyenv+anacondaという構成を紹介します。
開発環境の構築
以下の順番で説明していきます。 長いように感じると思いますが、1つ1つ対応していけば 必ずpythonが使えるようになるので頑張りましょう。
Gitのインストール
以下のリンクの”Windows”というところをクリックすると、 Windows版のgitがダウンロードされます。 注意を読みながら、インストールを進めてください。 https://git-scm.com/downloads
Gitは、プログラムの編集履歴を管理することのできるソフトなのですが、 今回はpyenvなどをダウンロードするために必要なツールとなっています。
pyenvのインストール
Pythonをインストールする際、pyenvというツールを入れることが多いです。 pyenvを導入することで、pythonのバージョン・環境の管理が可能となります。
例えば、プロジェクトAではpython 2.7(古い)を使っていて、 プロジェクトBではpython 3.5(比較的新しい)を使う場合などがあります。 pyenvが無いときは、1つのOSに対して1つのpythonしか入れられず、 このようなケースに対応できません。
また、途中まで開発を進めたプロジェクトで、pythonのバージョンが 違うために、rdkit含むオンラインのライブラリを利用できないことが稀にあります。 この場合も、pythonのバージョンを変更可能にしておかないと、 煩雑な作業に悩まされることとなります。
では、pyenvのインストール方法を見ていきましょう。 pyenvのプロジェクトはgithubに上がっています。
先程インストールしたgit bashまたは、ubuntu bash for Windows 10を開いて、 次のコマンドを実行してください。
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv # pyenvをダウンロード
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile # pyenvをいつも利用可能にするための設定 その1
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile # pyenvをいつも利用可能にするための設定 その2
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile # pyenvをいつも利用可能にするための設定 その3
$ source ~/.bash_profile # 設定変更の反映
ここまでやると、pyenvの設定は完了です。次のコマンドで、pythonをダウンロードしてみましょう。
$ pyenv install 3.5.1 # 最新版は2017年7月現在で3.6.2
※本ドキュメントでは、python 3系を標準として解説していきます。 ケモインフォマティクスでよく利用するrdkitというライブラリが python3でも利用可能であることや、世の中のライブラリの大半が、 pythonの最新版であるpython3系に対応しているからです。
Anacondaのインストール
次に、anacondaという、pythonのためのパッケージ管理・仮想環境構築ツールをインストールするします。Anacondaを、pyenvのコマンドでインストールします。 bash上で次のコマンドを実行しましょう。
$ pyenv install -l | grep ana # pyenvからインストール可能な'ana'を含むpythonのバージョンをリストアップします
(略)
anaconda3-4.1.1
anaconda3-4.2.0
anaconda3-4.3.0
anaconda3-4.3.1
anaconda3-4.4.0
$ pyenv install anaconda3-4.4.0 # 最新版を落とします.
$ pyenv rehash
$ pyenv global anaconda3-4.4.0
$ echo 'export PATH="$PYENV_ROOT/versions/anaconda3-2.5.0/bin/:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
$ conda update conda
Minicondaというツールでも同等のことが出来ます。 Minicondaでは、必要最小限のパッケージのみをインストールするすることから、 パッケージのインストール処理などが早いことが見込まれます。 今回は、都合上解説を省きましたが、こちらでも良いと思います。 https://conda.io/miniconda.html
仮想環境の構築
プログラム開発の際には、仮想環境を作っておくことが近年の流れです。 仮想環境の内部で様々なソフトウェアをインストールしておけば、 マシン本体の設定に影響を与えずに済みます。 これにより、万一ソフト同士に齟齬があっても、マシン本体が壊れることはありません。
さて、仮想環境を先程入れたanacondaで構築しましょう。 次のコマンドで実行できます。
$ # conda create -n {環境名} python={pythonバージョン} {最初にインストールしたいパッケージ}
$ conda create -n chem35 python=3.5.1 numpy scipy pandas jupyter
$ conda env list # 作った仮想環境のリストアップ
ここまでで、仮想環境が構築できています。次に、仮想環境に入ってみましょう。
$ # source activate {先程作った仮想環境の名前}
$ source activate chem35 # 仮想環境に入る
# 仮想環境に入ると、仮想環境名が左側に現れます。
$ (chem35) conda install rdkit # パッケージのインストール。仮想環境下へインストールされます。
$ source deactivate # 仮想環境から出る
仮想環境下では、どんなパッケージをインストールしても 基本的には怖くありません。
まとめ
Git, pyenv, anacondaを導入して、基本的なpythonの開発環境を整えました。 Pythonに関しては、様々な開発環境構築方法があって、結局どれが良いのか迷ったりもします。
ケモインフォマティクスでは、rdkitという化合物を扱うライブラリが anacondaから容易にinstall出来ることから、今回はpyenv+anacondaという 組み合わせで開発環境を構築しました。
ここから様々に開発を始められると思いますので、色々試してみましょう!