Python環境の構築

機械学習によるデータ解析を行う際には、python, R言語, matlabと言った プログラミング言語を利用することが一般的ですが、本サイトではpythonを 用いた解析例を示していきます。 理由としては、既存のライブラリが多数存在することと、 初学者にも分かりやすい文法になっていることが挙げられます。

以下では、まずWindows環境へのpythonの導入方法を説明していきます。 Pythonの開発環境の構築方法には諸説ありますが、今回は pyenv+anacondaという構成を紹介します。

開発環境の構築

以下の順番で説明していきます。 長いように感じると思いますが、1つ1つ対応していけば 必ずpythonが使えるようになるので頑張りましょう。

  1. Gitのインストール
  2. pyenvのインストール
  3. anacondaのインストール
  4. 仮想環境の構築

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という 組み合わせで開発環境を構築しました。

ここから様々に開発を始められると思いますので、色々試してみましょう!