Pythonの利用環境は、プログラミング言語のPythonだけをインストールすれば終わり、ではありません。Pythonには、これまでのPython利用者たちが作り上げた、膨大なソフトウェア資産があり、自由に利用できるようになっています。このソフトウェア資産こそが、Pythonの大きな強みです。
The Python Package Index(PyPI)¶
現在、このソフトウェア資産を利用する方法が、2種類用意されています。一つは The Python Package Index(PyPI) を利用する方法です。
PyPIはPython言語の開発コミュニティである Python Software Foundation(PSF) が運営する、Python用ソフトウェアの公開サービス で、だれでも自由に自分のソフトウェアを登録して公開できるようになっています。公開されているPythonソフトウェアのほとんどは、PyPIから入手できます。
PSFが提供する公式版のPythonは、PyPIからソフトウェアを取得する pip
というツールを標準で含んでいます。
Anaconda¶
もう一つは、データサイエンスをはじめとする科学技術計算のためのプラットフォームである、Ananconda を利用する方法です。AnacondaはPythonの実行環境として知られていますが、本来、データサイエンスのためのいろいろなツールやライブラリの実行環境で、Pythonにかぎらず、さまざまなコマンドやプログラミング言語も提供しています。
Anacondaは、独自にAnaconda用のソフトウェア資産の公開サービスを運営しており、データサイエンス用のソフトウェアなどを中心に、多くのソフトウェアが利用できるようになっています。PyPIで公開されているソフトウェアも、全てではありませんが主要なソフトウェアはAnacondaにも登録されています。
Anacondaからソフトウェアを取得する時は、conda
というツールを使います。
PyPI v.s. Anaconda¶
PyPIとAnacondaは、どちらもソフトウェアの公開サービスではありますが、管理方法が異なっているため、両方を同時に使うのは難しくなっています。PyPIを利用する公式版Pythonの実行環境では、Anacondaを利用できません。Anaconda環境ではPyPIを利用できますが、環境の二重管理になってトラブルの原因になる場合もあり、初心者にはあまりおすすめしたくありません。
では、はじめてPythonを利用するときには、公式版PythonとAnacondaのどちらを利用するべきでしょうか?
プログラミング入門なら公式版Python¶
プログラミング経験がまったくない人や、いろんな業務の効率化やWebプログラミングなどの一般的なPythonプログラミングを基礎から学びたい、という場合は、公式版のPythonをおすすめします。プログラミング初心者用のWebサイトや書籍などでは、ほとんどの場合PyPIを使った解説となっていますので、こちらのほうが学びやすいでしょう。
公式版Pythonのインストール方法は、Python環境構築ガイド を御覧ください。
データサイエンス・科学技術計算ならAnaconda¶
汎用的なプログラミングを学ぶのではなく、データサイエンスや機械学習などの学習を目的として、ツールとしてPythonを使うなら、Anaconda をおすすめします。Anacondaであれば、Pythonだけではなく、データサイエンスで一般的に使われるツールやライブラリがインストール済みの状態で提供されるので、環境構築で迷わず、すぐに利用を開始できます。
Anacondaの注意点¶
Webプログラミングなどの、科学技術計算以外の一般的なプログラミング分野では、あまりAnacondaは使われていません。このため、一般的なPython入門書やWeb上で見かけるPythonの解説記事などの多くは公式版のPythonを対象としており、PyPIとpip
コマンドを使っています。
こういった記事を参照するときには、pip
ではなく conda
コマンドを利用するように読み替えて実行するようにしましょう。 Conda と Pip にもう少し詳しい解説がありますので、ご参照ください。
まずはプログラミングを経験してみたいけど、データサイエンスにも興味がある、というかたも、とりあえず公式版Pythonではじめてみてはどうでしょう?どちらを使い始めても、あとで乗り換えるのは簡単です。とりあえず公式版Pythonでプログラミングの基礎を勉強し、あとでデータサイエンスの勉強を始めたらAnacondaを使う、というのも良い方法だと思います。
仮想環境¶
もうひとつ、公式版PythonとAnacondaで異なる点に、仮想環境の作り方があります。
Pythonでは、プロジェクトごとに「仮想環境」という、独立した実行環境を作成するのが一般的です。たとえば、あるプロジェクトでは TensorFlow 1.8を使い、別のプロジェクトではTensorFlow 2.0を使う、というのはよくある状況で、それぞれ別々の環境を作っておく必要があります。
この、仮想環境の作り方も公式版PythonとAnacondaでは異なっています。
公式版Pythonでは、仮想環境は venv を使って作成し、仮想環境へのパッケージのインストールは pip
コマンドで行います。
一方、Anacondaでは、仮想環境の作成とパッケージのインストールは両方とも conda
コマンドで行います。両者を混同してしまうと問題が発生する場合がありますので、気をつけて使い分けるようにしてください。
venvとAnacondaの問題については、Conda と venv を参照してください。