上で見たpython.orgからPythonをインストールする方法と並んで多くの人が使っているであろうPythonディストリビューションがAnacondaだ。
Anacondaにはデータサイエンスや機械学習に関連する多数のパッケージが同梱されていて、condaコマンドあるいは「Anaconda Navigator」と呼ばれるGUIを使ってそれらの中から必要なものだけをチョイスし、仮想環境を簡単に構築できる。こうしたことから、Anacondaはパッケージマネジャー、環境管理システム、そしてPythonディストリビューション、7500を越えるパッケージのコレクションという4つの性質を持っているとも考えられる。
さらにNumPyなど、幾つかのパッケージについては、AnacondaではIntel Math Kernel Libraryを使用してさまざまな数学関数やアプリケーションを独自に高速化したバイナリが用意されている。こうしたこともAnacondaが魅力的であることの理由の一つとなっている。
ただし、その人気が高まるにつれて、Anacondaが管理しているパブリックリポジトリの管理に関する負荷も高くなり、現在では従業員が200人以上の企業で商業活動を目的にパブリックリポジトリを使うのであれば有償エディションを使う必要がある(ここでいう商業活動については「Terms of Service」を参照のこと。この利用規約で商業活動として示された条件に合致する場合には有償エディションを使う必要がある)。
上記の利用規約の商業活動に当てはまらない場合――例えば従業員が200人未満の企業での商的な利用や、非営利活動、個人による教育/研究/趣味での利用など――には、Anaconda Individual Editionを利用できる。あるいは、上記の商業活動に当てはまる場合には、Minicondaとコミュニティーによって運営されているリポジトリであるconda-forgeを組み合わせて使うといった方法もある。
MinicondaはAnacondaの機能縮小版だ。AnacondaとMinicondaにおけるパッケージマネジャー/仮想環境マネジャーであるcondaプログラムと必要最低限のモジュール/パッケージだけを含んでいる。Anacondaがデータサイエンスや機械学習に必須なものを全て含んだ「全部入り」だとしたら、こちらはミニマムな環境だけを構成し、必要なものは後から自分で(condaコマンドなどを使って)インストールしていくスタイルとなる。そのため、インストールに必要なディスク容量もAnacondaに比べると非常に小さくなっている。
どちらを選ぶかはユーザー次第だ。ドキュメントによれば、Python初心者/一度に1500以上のパッケージをインストールしたい/ディスク容量とインストール時間に余裕がある/使いたいパッケージをいちいちインストールしたくない/依存性や使い勝手の面でAnacondaがキュレートしたものを使いたいといった条件に当てはまればAnacondaを選択し、必要なパッケージを個別にインストールするのを厭(いと)わない/ディスク容量とインストール時間を少なくしたい/とにかくPythonとcondaコマンドを使いたいというならMinicondaを選択することが推奨されている。
ここではAnaconda Individual EditionとMinicondaをインストールして、仮想環境を作成するまでを見てみよう。
Anaconda Individual Editionをインストールするには、まずダウンロードページからインストーラーをダウンロードする。
ダウンロードが終わったら、インストーラーを起動して、指示に従って画面を先に進めていくだけだ。ここでは全てデフォルトのままでインストールをした。インストールが完了したら、[スタート]メニューにAnaconda関連の項目が追加される。
[Anaconda Prompt]と[Anaconda PowerShell Prompt]はAnacondaのベース環境が有効化された状態でコマンドプロンプトもしくはPowerShellを起動するものだ。CUIを使ってAnacondaを操作するにはこれらを使う。[Anaconda Navigator]はそのGUI版といえる。[Jupyter Notebook]はローカル環境でJupyter Notebookを起動する。[Spyder]はAnacondaに同梱される統合開発環境だ。
試しにAnaconda Navigatorを起動してみよう。
この画面では既にインストール済みあるいはインストール可能なアプリケーションが表示されている。左側には[Home](この画面)、[Environments](仮想環境)、[Learning](学習リソース)、[Community](コミュニティー)へのアクセスを提供するリンクがある。例えば、[Environments]をクリックすると、次のように仮想環境の一覧とインストール済みのモジュール/パッケージが一覧される。
まだ仮想環境を作成していないので、上の画像ではAnacondaのベース環境だけが表示されている。右側のペーンにはモジュール/パッケージが一覧されるが、このとき左上の[Installed]と表示されているドロップダウンをクリックすれば、全てのモジュール/パッケージ、インストールされていないモジュール/パッケージ、アップデート可能なモジュール/パッケージ、何らかの処理を行うために選択したモジュール/パッケージのどれを表示するかを切り替えられる。
では、GUIを使って仮想環境を作成してみよう。これには仮想環境を一覧しているペーンの下にある[Create]ボタンをクリックする。
すると、[Create new environment]ダイアログが表示されるので、仮想環境の名前とその環境で使用するPythonのバージョンを指定して、[Create]ボタンをクリックする。すると、Anaconda Navigatorに作成した仮想環境が表示され、一番右のペーンにはそこに現在インストールされているパッケージが一覧される(その数がベース環境のものよりもはるかに少ないことが分かる)。
ここで先ほど紹介したドロップダウンで[Not installed]を選択するとインストールされていないモジュール/パッケージが表示されるので、ここから必要なモジュール/パッケージをインストールできる。以下の画像は右端にある検索ボックスに「pandas」と入力してみたところだ。
必要なものを選んで右下にある[Apply]ボタンをクリックすれば、同時にインストールされるモジュール/パッケージが表示されるので、さらに[Apply]ボタンをクリックすると、その仮想環境に選択したモジュール/パッケージがインストールされる。
このようにして仮想環境に必要なものをインストールしていく。仮想環境名の右にある右向き三角をクリックすれば、その仮想環境を起動できる(このときはコマンドプロンプトを開くか、コマンドプロンプトでその仮想環境に指定したPython処理系を起動するかを選択可能)。
このようにAnaconda Navigatorを使うとGUIベースで簡単に仮想環境を作成し、そこに必要なモジュール/パッケージをインストールできる。
では、次にMinicondaについても見てみよう。Minicondaはそのダウンロードページからダウンロードしてインストールできる。インストール自体はAnacondaと同様なので、説明は省略する。
インストールが完了すると、[スタート]メニューに[Anaconda Prompt(Miniconda3)]と[Anaconda PowerShell Prompt(Miniconda3)]という項目が追加される。
最小限のインストールなので、GUIシェルであるAnaconda Navigatorはインストールされない。ただし、AnacondaとMinicondaは並行してインストール可能であり、AnacondaをインストールしていればそのAnaconda NavigatorがMiniconda(とそこで作成した仮想環境)を認識してくれる。また、自分でcondaコマンドを使ってAnaconda Navigatorをインストールすることも可能だ。
先ほどはGUIだったが、今度はcondaコマンド(CUI)を使って仮想環境を作ってみよう。これには「conda create」コマンドに仮想環境名、使用するPythonのバージョン、インストールするモジュール/パッケージを指定する。以下に例を示す。
>conda create -n venv310 python=3.10 pandas
これは「venv310」という名前で仮想環境を作成するものだ。このときに使用するPythonのバージョンを3.10に、仮想環境の作成時に一緒にpandasをインストールすることを意味している。
コマンドを入力すると、pandasと同時にインストールされるモジュール/パッケージが表示された後に本当にインストールするかが問い合わされるので「y」を入力する。
作成した仮想環境を有効化するには「conda activate 仮想環境名」を実行する。上で作成したvenv310を有効化するなら次のようになる。
>conda activate venv310
作成した仮想環境を一覧するには「conda info --envs」または「conda info -e」を実行する。最後に仮想環境を削除するには「conda remove --name 仮想環境名」または「conda remove -n 仮想環境名」を実行する。
作成した仮想環境に追加でモジュール/パッケージをインストールするには「conda install パッケージ名」を実行する。このとき、複数のパッケージをインストールするなら、それらを半角空白文字で区切って指定できる。
注意点としては、パッケージを管理する際にはAnaconda/Miniconda環境では可能な限りcondaコマンドを使うこと、python.orgからインストールしたPythonではpipコマンドを使うことが推奨されていることだ。これについては「CondaとPip」などを参照されたい。
データサイエンスや機械学習に関連するモジュール/パッケージを全部入りでインストールしたい、あるいはGUIを使ってマウスクリックだけで、簡単に環境構築をしたいといった人にはAnacondaはオススメだ。Anacondaのエコシステムが気に入って、でも、このPCではAnacondaはちょっという場合にはMinicndaも候補に挙がるだろう。パッケージ管理ツールとして、condaとpipのどちらが好みなのかもAnaconda系のディストリビューションとpython.org系のディストリビューションのどちらを選ぶかのポイントになる。幸い、筆者はサンプルプログラムを書く程度で、パッケージ間の依存関係に苦しんだことがないので、python.orgのPythonを使っているが、痛い目に遭ったことがある人ならAnacondaが一番の候補となるかもしれない。
Copyright© Digital Advantage Corp. All Rights Reserved.