AnacondaとMinicondaの比較、どちらで環境構築するべきか

2018年11月12日

AnacondaとMinicondaについて

pythonで機械学習環境を構築するとなると、多くの書籍やサイトでとりあえずAnacondaを使っておけばよいと書かれています。

たしかにAnacondaでは簡単に環境構築ができますが、デメリットもあります。そこで、AnacondaとMinicondaそれぞれについての特徴を比較してみました。

Anaconda

「Python+R言語+conda+1000以上の関連パッケージ+実行環境+etc.…」

Anacondaをインストールすると、Pythonのと合わせて科学計算・データサイセンス用のパッケージ群を使用できるようになります。また、Pythonに並ぶデータサイエンス向きプログラミング言語である「R」や、それらの総合開発環境も含まれます。大雑把にまとめても以下のアプリケーション類がインストールされる。

Anacondaに含まれるもの

  • プログラミング言語:python, R
  • パッケージ:numpy、pandas、Matplotlib、Scikit-learn、Tensorflow…等1000個以上
  • 統合開発環境(IDE):Jupyter、JupyterLab、Spyder、RStudio
  • グラフィカルユーザーインターフェース(GUI):Anaconda Navigator

Miniconda

「Python+conda+最小限のパッケージ」

Anacondaの最小構成版。pythonのインストールは簡単に行えるが、必要なパッケージや実行環境の構築はcondaを使用して個別に行う。

Condaとは
パッケージマネージャー。パッケージのインストールや環境整理などを行うためのプログラム。conda promptという画面からcondaコマンドを入力することで様々な命令を実行できる。
コマンド例:「パッケージのインストール:conda install ~~」「環境の確認:conda info」

それぞれのメリット・デメリット

Anaconda

メリットデメリット
  • 機械学習等に汎用されるパッケージが内包
  • 環境構築の手間がかからず、
    トラブルのリスクが少ない
  • インストールするだけで
    機械学習やディープラーニングを始める環境ができる
  • ダウンロードに時間がかかる
  • ファイルサイズが大きい
  • 何が入っているか把握しきれず、ブラックボックス化してしまう
  • 標準で搭載されていないパッケージは自分でインストール必要
  • 不要なパッケージが多く、重くなる

Miniconda

メリットデメリット
  • 必要最小限のパッケージで済み、軽い
  • 自分でインストールするためパッケージの把握がしやすい。
  • ダウンロード早い
  • ファイルサイズ小さい
  • ほしいパッケージはすべて自分でインストールする必要がある
  • 必要なパッケージを把握しておかなければならない
  • 環境構築の手間がかかり、トラブルのリスクがある

ちなみにファイルサイズは2018年10月に試した時点で、10倍以上差がありました。

           容量         Anaconda         Miniconda
ダウンロード時  646 MB         54 MB
インストール時約  3 GB約  260 MB

どちらで環境構築するべきか

Anaconda向きMiniconda向き
  • 環境構築で苦労したくない人
  • 不要なパッケージがあっても気にしない人
  • とりあえず早く機械学習を始めてみたい人
  • ディスク容量に余裕のある人
  • 自分でどのパッケージを使っているか把握したい人
  • 不要なパッケージがインストールされるのが嫌な人
  • SSD等をつかっておりディスク容量を節約したい人

僕は最初Anacondaで環境構築しましたが内容を把握しきれなくなり、結局アンインストールしてMinicondaで構築しなおしました。

Anacondaは標準でツールが豊富なものの、結局自分でプログラムを書くときにそのパッケージについて調べる必要があります。何が入っているか自分で把握できていることが重要と思います。

参照

Miniconda公式 https://conda.io/miniconda.html
Anaconda公式 https://www.anaconda.com/distribution/

Minicondaでの環境構築方法は以下にまとめております。