Python環境構築ガイドAnaconda のインストール

Conda と Pip

Anaconda のインストールWindows版のインストールMacOS版のインストールLinux版のインストールConda コマンドConda と PipConda と venv

Anacondaを使っている場合でも、Pythonの標準パッケージ管理ツールである pip を使う場合があります。ここでは、Anaconda環境で pip を使う場合の注意点を説明します。

Pip とPyPI

PyPI(Python Package Index) は、Pythonの開発元である Python Software Foundation が運営する、Pythonパッケージの配布サービスです。PyPIには、だれでも自分で開発したパッケージを登録して公開できます。

Githubなどで公開されるPython用のパッケージのほとんどはPyPIに登録されており、Pythonに標準でインストールされる pip コマンドでインストールできるようになっています。

CondaとAnaconda cloud

一方、Anacondaはパッケージを Anaconda Cloud の独自のリポジトリで公開し、pip コマンドではなく conda コマンドでインストールします。

PyPIはPython専用のサービスですが、Anacondaはもっと汎用的な科学技術計算のためのサービスですので、Pythonと無関係なソフトウェアもインストールできるようになっています。また、同じソフトウェアがPyPIとAnacondaの両方に登録されている場合でも、 Anaconda版ではより科学技術計算用に最適化されている場合もあります。

pipconda はどちらもパッケージをインストールするコマンドですが、パッケージの取得元も、インストールする方法も異なっています。また、PyPIとAnaconda cloudの両方で公開されているパッケージでは、もともとのソースコードは同じでも、パッケージの作り方や管理方法は全く別になっています。

CondaとPIP、どちらを使えばいいの?

基本的には、Anacondaの環境を利用する場合には conda を使い、Anacondaを使わない場合には pip を使います。(conda は、Anaconda以外の環境では使えません。)

しかし、Webでよく見かけるPythonの解説ページや書籍などでは、パッケージの使い方の説明として

$ pip3 install XXXX

のように、pip を使ったインストール方法を紹介している場合がほとんどです。

これは conda を使うより pip を使ったほうが良いからではなく、一般的なPythonプログラミングでは、Anacondaはあまり使われていないからです。たとえば、科学技術計算と関係ないWebサービスなどを開発する場合に、Web系プログラマがAnacondaを使うことはほとんどありません。

ですから、Anaconda環境では、pip ではなく、conda コマンドを使うようにしてください。

pip3 install ~ を実行する前に、conda search コマンドなどで必要なパッケージを検索して、conda install コマンドでインストールできないか、試してみましょう。

Anaconda環境のpip

Anacondaの実行環境でも、 pip でPyPIのパッケージをインストールすることはできます。しかし、pipconda の違いのために、依存関係の管理に不具合が発生してしまう場合があります。特に、Anaconda cloudとPyPIの両方で公開されているパッケージを pip を使ってインストールした場合などに、問題になるケースがあります。

condapip も、インストールするパッケージの依存関係を管理しています。たとえば、Googleの有名な機械学習ライブラリ TensorFlow は、Pythonの数値演算パッケージである NumPy を利用しています。conda を使って TensorFlowをインストールすると、Anacoda環境に Numpyがインストールされていなければ、自動的にAnaconda Cloudから Numpy をダウンロードしてインストールしてくれます。同様に、pip を使って TensorFlow をインストールすると、必要に応じてPyPIからNumPyをダウンロードしてインストールします。

しかし、condapip はそれぞれ独立してパッケージのインストール環境を管理しています。conda がインストールしたパッケージは pip では把握していませんし、 conda でインストールしたパッケージの情報は pip では把握していません。このため、Anaconda環境で pip を使ってパッケージをインストールすると、パッケージの依存関係の管理に不具合が発生してしまう場合があります。

pipを使う場合

Anaconda cloudで公開されているパッケージは、PyPIにあるパッケージのごく一部です。必要なパッケージがAnacond cloudになければ、pipを使ってPyPIからインストールしなければなりません。しかし、pip でインストールする前に、かならず conda search コマンドなどを使って、Anaconda で公開されていないか確認してから、PyPI版を使うようにしましょう。

pip の利用で問題が発生する場合、科学技術計算以外の用途で利用しているのであれば、そのときだけAnancondaではなく、通常のPythonに切り替えてPyPIを併用するのも一案です。

Anacondaと一般のPythonの使い分けについては、PythonとAnaconda も参照してください。



【Copyright © 2001-2020 python.jp】 【Privacy Policy】 python_japan