Anacondaとは?
パッケージ管理システムのcondaとPython、そして科学計算処理(データサイエンスや機械学習など)に必要なパッケージをすべてまとめたものがAnacondaです。conda環境をGUIから管理できるAnaconda Navigatorも含まれていて、そこからRStudio (R言語)やVS Codeなども簡単にインストール可能です。
なお、condaとPython、必要最小限のパッケージから構成されるMinicondaというものもあります。このページではAnacondaを用いたデータ解析環境の構築について説明しますが、不必要なパッケージをインストールしたくない場合はAnacondaではなく、Minicondaからインストールしてください。
Anacondaを用いるメリット
Pythonのインストールの方法は、公式サイトからPython単独でインストールする方法と、Anaconda(もしくはMiniconda)を用いてインストールする方法があります。Anaconda / Minicondaからインストールするとパッケージ管理システムのcondaが使用可能になり、さらにAnacondaでは科学計算処理に必要なパッケージもまとめてついてくるという2つの大きなメリットがあります。
パッケージ管理システム conda
Pythonには標準でパッケージ管理システムのpipが付属していますが、pipはパッケージをインストールするときに、以前にインストールされたパッケージと競合するかどうかを確認せずに、依存するPythonパッケージを自動的にインストールしてしまいます。これに対してAnaconda / Minicondaに付属しているcondaはパッケージをインストールする際に、すでにインストールされたパッケージの依存関係を解析して、競合するパッケージがある場合にはそれを解決する方法を提示してくれます。
例えば「すでにインストールされているAというパッケージは、Zというパッケージの最新版には対応せず1つ古いバージョンが必要」だとします。ここで、Bというパッケージをインストールしたいのですが、BというパッケージはZの最新版にしか対応していないとします。
この時、pipでパッケージを管理していると、Bをインストールすると問答無用でZの最新版をインストールしてしまうので、もともと問題なく動いていたAというパッケージが動かなくなってしまいます。しかし、condaでパッケージを管理すると、BをインストールするときにAが対応しているZのバージョンを解析して1つ古いバージョンのZでも動くように、例えば敢えてBのバージョンを下げてインストールするなどしてくれます。これによって新たなパッケージをインストールすることですでに動いているパッケージが動かなくなってしまう事態を避けられます。
また、condaはもともとはPythonのパッケージ管理のために作られたシステムですが、現在は一般化して任意の言語のソフトウェアをパッケージ化して管理することができます。condaではPython自体も パッケージ の1つとして管理され、さらにR言語のパッケージを管理したり、あるいはその他のアプリケーションを管理することができます。例えば、Linuxのバイオインフォマティクス関連のアプリケーションはbiocondaというcondaのチャネル(=レポジトリ)から配布されており、condaを用いて管理するのが一般的です。
さらに、condaはパッケージ管理だけではなく、パッケージをインストールしている環境自体も管理することができます。
※ condaのコマンドは「よく使う conda コマンド一覧」をご覧ください。
Anacondaのインストール
Anaconda公式サイトのダウンロードページから入手できます。Python 3.7 versionとPython 2.7 versionの選択ができますが、Python 2.7 versionは2020年1月でサポート終了しているので、Python 3.7 versionの方を選びましょう。
Windowsの場合はインストールはGUI上で行われるので、指示に従っていくだけでOKです。
なお、以下の画面で「Add Anaconda to my PATH environment variable」のチェックは非推奨となっていますが、一般のコンソールを用いて開発する際は、チェックを入れて環境変数のPathにAnacondaのインストールフォルダを入れておく必要があります。
(コンソールとして一緒にインストールされるAnaconda Promptを用いると、このチェックを入れなくてもPythonへのパスが通った状態になります)
その場合、アンインストール時には環境変数のPathから「Anaconda3」が含まれているものはすべて削除しておきましょう。
まとめ
ここでは、Anacondaを用いることのメリットとAnacondaによる環境構築の方法を説明しました。特にパッケージ管理システムのcondaは非常に有用なので、ここではAnacondaを用いてデータ解析環境(Python環境やバイオインフォマティクス環境)を構築していきます。
よく使うcondaコマンドについては以下の記事をご覧ください。
なお、Anacondaをインストールすると専用のコンソールである「Anaconda Prompt」もインストールされます。condaコマンド自体は任意のターミナルで実行可能ですが、Anaconda Promptでは操作している仮想環境がルートディレクトリとして表示されるので、どの仮想環境を操作しているのかも分かりやすくなります。
コメント