2017-08-23 2 views
2

最近、私はこの質問に多くの質問をしていますが、最近はconda環境(Anaconda)を使用していました。conda環境内でのcondaとpipのインストールの違い

すべてのプロジェクトを自分のconda環境内で実行するようにしました。私はすべてを別々のものとして、他のプログラムとの依存性をできるだけ少なくしたいと思っています。たとえば、最近の環境:

conda create -n RL numpy tensorflow-gpu 

次に、私は環境を有効にし、「ああ、私はジムをインストールするのを忘れました」を実現します。この場合、これはPIPパッケージマネージャーでのみ利用可能ですので、単にpip install gymと入力してください。しかし、他のケースでは、パッケージがcondaとpipの中に存在する場合、それをインストールする最良の方法は何ですか?

conda install package pip install package

や他の言葉で - の違いは何ですか?

完全な画像を提供するために、私はUbuntu 16.04ですべてを実行しており、プロジェクトに応じてPython 2と3を切り替えます。だから私のコンドームの環境のいくつかはPython 2にあり、いくつかはPython 3です。私は時々pip3 installがPython 3に必要であることがわかりましたが、いつもそうではありません - これはなぜですか?

第2に、私のパスは私のAnaconda3ディレクトリのpythonセットアップにリンクしています。

conda経由でインストールすると、自分の環境に直接インストールされますが、pipを経由してanaconda3サイトパッケージにインストールされ、Anaconda3ディレクトリ下のすべてのconda環境で使用できるようになります。この場合、つまり、あるコンドーム環境でI pip install gymを使用する場合は、他の環境でも使用できるはずですが、これは想定される環境の動作ではありません。

私の前提を訂正して、私にいくつかの意味をノックしてください!

+1

[pipとcondaの違いは何ですか?](https://stackoverflow.com/questions/20994716/what-is-the-difference-between-pip-and-conda) – darthbith

答えて

0

コンダを理解するために、それはあなたのためにすべての依存関係を管理します。たとえば、パッケージ(例えば、pandas)に別のパッケージ(numpyなど)が必要な場合は、両方をダウンロードします(警告後)。

ここで、condaが便利になるのは、特定のパッケージが別のバージョン(たとえば4.3以降)の特定のバージョンを必要とすることがあり、それらがパッケージ間で競合することがあることです。要件と競合は、SATソルバーのおかげで解決できる数学的問題を定義します。

あなたがここにそれについての情報やリンクを見つけることができます。

https://www.continuum.io/blog/developer/new-advances-conda-0だからあなたは新しいパッケージをインストールしているたびに、それがアップグレードされます(または、時には競合場合、ダウングレード)各パッケージのfunctionningを確保するために他のパッケージを。 Personnaly、私はcondaで行くとあなたがcondaことで興味を持っている場合、パッケージがconda

別のリンクによって管理されていない場合にのみ、pipを使用します。https://jakevdp.github.io/blog/2016/08/25/conda-myths-and-misconceptions/

についてpip3、それはあなたがPythonの2の両方を持っているときに使用される命名でありますPython 3がインストールされていると、コマンドの競合を避けることができます。 Python 3環境では、コマンドpippip3に相当します。pipの振る舞いについては

、私はインストールが唯一の有効な環境で行われていることを確認し、

0

他のものには使用できませんでき違いはcondaは、それが作成した新しい環境について知っているが、ピップということですしない。環境内にpipをインストールする必要があります。

新しい環境を作成して有効にする場合は、次のようにします。

conda create -n env_name 
source activate env_name 

が続いconda使用してPIPをインストール:

conda install pip 

(落とし穴の警告)あなたはwhich pipを実行する場合、これは新しいconda環境でのピップのインストールへのパスを与える必要があります(このようなもの):

/anaconda3/envs/env_name/bin/pip 

しかし、pip install new_packageを実行しても動作していないようである場合は、絶対パス(例:Tom Roth's blog post)を参照する必要があります。コンクリート環境内のピリングパッケージを包む

/anaconda3/envs/env_name/bin/pip install new_package 

ホープが役に立ちます。

関連する問題