私が最近発見した Conda SciPyのインストールに問題があった後、特に私が開発しているHerokuアプリケーションで。
Condaを使用すると、 virtualenv が実行するのと非常によく似た環境を作成できます。私の質問は:
コンダはvirtualenvを置き換えます。私の意見では、それは良いです。 Pythonに限定されず、他の言語にも使用できます。私の経験では、特に科学的なパッケージでは、はるかにスムーズな経験を提供します。私が初めてMayaViをMacに正しくインストールしたのはconda
でした。
あなたはまだpip
を使うことができます。実際、conda
は、新しい各環境にpip
をインストールします。それはpipインストールパッケージについて知っています。
例えば:
conda list
現在の環境にインストールされているすべてのパッケージを一覧表示します。コンダインストールパッケージは次のように表示されます。
sphinx_rtd_theme 0.1.7 py35_0 defaults
そしてpip
経由でインストールされたものは次のようになります。
wxpython-common 3.0.0.0 <pip>
簡単な答えは、あなただけのコンダが必要です。
Condaは、pipとvirtualenvの機能を1つのパッケージに効果的に組み合わせているため、condaを使用している場合はvirtualenvは必要ありません。
あなたは、condaがサポートしているパッケージの数に驚くでしょう。それが十分でない場合は、condaの下でpipを使用できます。
これはconda、pip、およびvirtualenvを比較するcondaページへのリンクです。
https://docs.conda.io/projects/conda/en/latest/commands.html#conda-vs-pip-vs-virtualenv-commands 。
仮想環境とpip
Anacondaでは、 作成 および 削除 conda環境が簡単であることを付け加えます。
> conda create --name <envname> python=<version> <optional dependencies>
> conda remove --name <envname> --all
有効化された環境 の場合、conda
またはpip
でパッケージをインストールしてください。
(envname)> conda install <package>
(envname)> pip install <package>
これらの環境は condaのpip風パッケージ管理 と密接に関係しているので、環境を作成してPythonと非Pythonパッケージの両方をインストールするのは簡単です。
ジュピター
さらに、 ipykernel
を環境にインストールすると、Jupyterノートブックのカーネルドロップダウンメニューに新しいリストが追加され、再現可能な環境がノートブックに拡張されます。 Anaconda 4.1以降、 nbextensionsが追加されました 、より簡単にノートブックに拡張機能を追加する。
信頼性
私の経験では、condaはnumpy
やpandas
のような大きなライブラリをインストールするのがより速くより信頼性があります。さらに、環境の保存された状態を転送したい場合は、 sharing または clone an envでそれを行うことができます。
Condaをインストールすると、あなたが望むようにpython環境を作成したり削除したりできるようになります。そのため、 virtialenv と同じ機能を提供します。
どちらのディストリビューションの場合でも、あなたが望むように(おそらくpipを使って)pythonパッケージをインストールしたり削除したりできる、独立したファイルシステムツリーを作成することができます。ユースケースに合わせて同じライブラリの異なるバージョンを使用したい場合、または単にディストリビューションを試して後で削除してディスク容量を節約したい場合に便利です。
ライセンス契約virtualenvが最も自由度の高い MITライセンス 、 Conda が3節BSDライセンスを使用しています。
Condaはあなた自身の荷物管理システムを提供します。このパッケージ管理システムは、一般的な非pythonソフトウェアの(ほとんどの一般的なシステム用の)プリコンパイルされたバージョンを提供しています。つまり、あなたのシステム用に最適化されたC/C++コードをコンパイルする必要はありません。それは私たちの大部分にとって大きな救済ですが、それはそのようなライブラリのパフォーマンスに影響を与えるかもしれません。
Virtualenvとは異なり、Condaは少なくともLinuxシステム上でいくつかのシステムライブラリを複製します。このライブラリは同期しなくなり、プログラムの動作に矛盾が生じる可能性があります。
機械学習であなたの方法を始める間、コンダは素晴らしくて、あなたのデフォルト選択であるべきです。それはあなたにgccと多数のパッケージで面倒な時間を節約するでしょう。それでも、Condaはvirtualenvに代わるものではありません。それは常に望まれないかもしれないいくつかの追加の複雑さを導入します。それは別のライセンスの下に来ます。分散環境またはHPCハードウェアでcondaを使用しないようにすることをお勧めします。
もう一つの新しいオプションと私の現在の環境を起動させる方法は Pipenv
現在、Python.orgから公式に推奨されているPythonパッケージ化ツールです。
はい、conda
はvirtualenv
よりもインストールがはるかに簡単で、後者に代わるものになります。