昨日に引き続き本日はcondaについてです。
ちなみにAnacondaのざっくり概要は
https://qiita.com/leigadget/items/4e5837f8e078119493b1
から見れますので興味がある方はぜひ。
ひとまずgoogleで
conda 何
と調べて一番上に出てきたpython.jp曰く、
「Anaconda には conda コマンドがインストールされており、パッケージのインストールや、実行環境の作成・切り替えなどを行います。Anacondaの実行環境は Anaconda-Navigator でも操作できますが、ここでは conda コマンドの使い方を紹介します。」
と書かれています。
pythonでのパッケージっていうのは簡単な話、pythonのモジュール(.pyファイル)を複数まとめたものになります。もう少し詳しい話はAnacondaの概要の時に書いてますので是非そちらを参照ください。
ここまでまとめますとcondaはパッケージマネージャーの一種であることがわかりますね。
しかし、ここでの浮かぶのがpipの存在です。pythonではpipがデフォルトでついてきますから。わざわざcondaを使う理由があるのでしょうか。
というわけでここからcondaの主な機能、そしてpipとの違いをまとめていきたいと思います。
まずcondaの一番の強みはpython以外のパッケージも管理することができる点です。
自分も最初は勘違いしていましたが、condaはpythonに限らず様々な言語のパッケージ、そしてさらには環境の管理も可能なシステムとなっています。
実際condaのドキュメントには(以下かっこ内は英文直訳となります)
「あらゆる言語のパッケージ、依存関係、環境管理-Python、R、Ruby、Lua、Scala、Java、JavaScript、C/ C++、Fortranなど。
Conda は、Windows、macOS、Linux 上で動作するオープンソースのパッケージ管理システムおよび環境管理システムです。Condaはパッケージとその依存関係を迅速にインストール、実行、更新します。Condaはローカルコンピュータ上で環境の作成、保存、ロード、切り替えを簡単に行うことができます。Pythonプログラムのために作成されましたが、あらゆる言語のソフトウェアをパッケージ化して配布することができます。」
と表記されています
逆にpipはpython専用のパッケージマネージャーとなっており、それ以外の言語のパッケージに関与することはできません。
というわけでとりあえず第一回まとめますと
conda:様々な言語のパッケージなどを管理することができる。
pip:pythonのパッケージを管理することができる。
というのが大きな特徴みたいです。
もともと一回で終わらすつもりでしたが長くなりそうなので一回区切ります。
今後数回かけてこのテーマをまとめていく予定ですのでよろしくお願いします。