Conda
とconda-forge
は両方ともPythonパッケージマネージャーです。両方のリポジトリにパッケージが存在する場合、適切な選択は何ですか?たとえば、Djangoはどちらでもインストールできますが、2つの違いはいくつかの依存関係です(conda-forgeにはさらに多くの依存関係があります)。これらの違いについての説明はなく、単純なREADMEもありません。
どちらを使用する必要がありますか?コンダまたはコンダフォージ?それは重要ですか?
簡単に言えば、私の経験では、どちらを使用するかは重要ではありません。
長い答え:
したがって、conda-forge
は、パッケージをインストールできる追加のチャネルです。この意味で、それはデフォルトのチャンネルや、人々がパッケージを投稿した他の何百(何千?)のチャンネルよりも特別なものではありません。 https://anaconda.org でサインアップし、独自のCondaパッケージをアップロードすると、独自のチャンネルを追加できます。
ここで、クロスプラットフォームパッケージマネージャーであるconda
とパッケージチャネルであるconda-forge
を区別する必要があります。 conda
ソフトウェアの主な開発者であるAnaconda Inc.(以前のContinuum IO)も、パッケージの個別のチャネルを保持しています。これは、オプションを変更せずにconda install packagename
と入力した場合のデフォルトです。
チャネルのオプションを変更するには2つの方法があります。 1つは、パッケージをインストールするたびにチャネルを指定することです。
conda install -c some-channel packagename
もちろん、パッケージはそのチャネルに存在する必要があります。同じチャネルを頻繁に使用している場合は、構成に追加することをお勧めします。あなたは書ける
conda config --add channels some-channel
チャンネルsome-channel
をchannels
構成リストの先頭に追加します。これにより、some-channel
に最高の優先順位が与えられます(優先順位は、複数のチャネルに特定のパッケージがある場合に選択されるチャネル( 一部 )を決定します)。リストの最後にチャネルを追加し、優先度を最低にするには、次のように入力します
conda config --append channels some-channel
追加したチャンネルを削除する場合は、次のように記述します。
conda config --remove channels some-channel
見る
conda config -h
その他のオプション。
以上のことから、Anacondaが管理するdefaults
チャネルの代わりにconda-forge
チャネルを使用する4つの主な理由があります。
conda-forge
上のパッケージは、defaults
チャネル上のパッケージよりも最新である可能性がありますdefaults
からは利用できないパッケージがconda-forge
チャンネルにありますopenblas
(mkl
から)ではなく、defaults
(conda-forge
から)などの依存関係を使用することをお勧めします。Conda-forgeチャンネルでは、conda用にビルドされたが、公式のAnacondaディストリビューションの一部であるパッケージを見つけることができます。
一般に、それらのいずれかを使用できます。
Conda-forgeを適用しない限り、そのチャネルは利用できないため、単純なconda install
ではインストールできないPythonライブラリがいくつかあります。私の経験から、pipはcondaよりもさまざまなチャネルソースを調べるのに一般的です。たとえば、python-constraint
をインストールする場合は、pip install
を使用して実行できますが、** cond **を使用してインストールできます。チャネルを指定する必要があります-conda-forge
。
conda install -c conda-forge python-constraint // works
だがしかし
conda install python-constraint