私pip
はPythonパッケージのパッケージマネージャーを知っています。しかし、IPythonのWebサイトでのインストールがIPythonのインストールに使用conda
されているのを見ました。
pip
IPythonのインストールに使用できますか?conda
すでに持っているのに、なぜ別のPythonパッケージマネージャーとして使用する必要があるのpip
ですか?
違いは何であるpip
とはconda
?
私pip
はPythonパッケージのパッケージマネージャーを知っています。しかし、IPythonのWebサイトでのインストールがIPythonのインストールに使用conda
されているのを見ました。
pip
IPythonのインストールに使用できますか?conda
すでに持っているのに、なぜ別のPythonパッケージマネージャーとして使用する必要があるのpip
ですか?
違いは何であるpip
とはconda
?
回答:
Condaブログからの引用:
長い間Pythonの世界に携わってきた私たちは、pip、easy_install、virtualenvを知っていますが、これらのツールは私たちの特定の要件のすべてを満たしていませんでした。主な問題は、ソースコードにsetup.pyがなく、Pythonのサイトにファイルをインストールしない、HDF5、MKL、LLVMなどの非Pythonライブラリの依存関係を無視して、Pythonに集中していることです。 -packagesディレクトリ。
したがって、Condaはパッケージツールとインストーラーであり、何を行うかよりも多くのことを行うことを目的としてpip
います。Pythonパッケージ以外のライブラリ依存関係とPythonパッケージ自体を処理します。Condaも、仮想環境を作成virtualenv
します。
そのため、Condaは、おそらくPythonと非Pythonの両方のインストールタスクを処理できる別のツールであるBuildoutと比較する必要があります。
Condaは新しいパッケージ形式を導入しているため、pip
とCondaを交換して使用することはできません。 pip
Condaパッケージ形式をインストールできません。2つのツールを(でインストールすることpip
によりconda install pip
)並べて使用できますが、相互運用することもできません。
この回答を書いて以来、AnacondaはCondaとPipの理解に関する新しいページを公開しています。
これは、condaとpipの主な違いを強調しています。PipはPythonパッケージをインストールしますが、condaは任意の言語で書かれたソフトウェアを含むパッケージをインストールします。たとえば、pipを使用する前に、システムパッケージマネージャーを介して、またはインストーラーをダウンロードして実行することにより、Pythonインタープリターをインストールする必要があります。一方、CondaはPythonパッケージとPythonインタープリターを直接インストールできます。
そしてさらに
condaパッケージとしては入手できないがPyPIから入手でき、pipでインストールできるパッケージが必要になる場合があります。これらの場合、condaとpipの両方を使用することは理にかなっています。
pip install
。
ここに短い要約があります:
conda build
ソースからパッケージをビルドするというツールがありますが、conda install
それ自体はすでにビルドされたCondaパッケージからのものをインストールします。両方の場合において:
Condaの最初の2つの箇条書きは、多くのパッケージでpipよりも有利な点です。ソースからpipをインストールするため、ソースコードをコンパイルできない場合、pipをインストールするのは面倒です(これは特にWindowsで当てはまりますが、Linuxでもパッケージに困難なCまたはFORTRANライブラリがある場合は当てはまります)依存関係)。Condaはバイナリからインストールされます。つまり、誰か(たとえば、Continuum)が既にパッケージのコンパイルというハードワークを行っているため、インストールは簡単です。
独自のパッケージを作成することに関心がある場合にも、いくつかの違いがあります。たとえば、pipはsetuptoolsの上に構築されていますが、Condaは独自の形式を使用しています。
pip install --use-wheel <package>
、ビルドされたパッケージをインストールします。こちらをご覧ください:wheel.readthedocs.org/en/latest。ただし、ホイールに関する私の個人的な経験では、科学的なホイールパッケージはほとんどないので、純粋に学術的なものです。もちろん、ビルド環境が正確に設定されていないと、pip installはほとんどの場合Windowsでも機能しません。したがって、現時点ではconda ftwです。
その他の回答は詳細を公平に説明していますが、いくつかの高レベルのポイントを強調したいと思います。
pipは、Pythonパッケージのインストール、アップグレード、アンインストールを容易にするパッケージマネージャーです。仮想python環境でも動作します。
condaは、任意のソフトウェア(インストール、アップグレード、アンインストール)のパッケージマネージャーです。また、仮想システム環境でも機能します。
condaの設計の目標の1つは、ユーザーが必要とするソフトウェアスタック全体のパッケージ管理を容易にすることです。その1つ以上のpythonバージョンはほんの一部にすぎない場合があります。これには、線形代数などの低レベルのライブラリ、Windowsのmingwなどのコンパイラ、エディタ、HgやGitなどのバージョン管理ツールなど、配布と管理に必要なものが含まれます。
バージョン管理の場合、pipを使用すると、複数のpython環境を切り替えて管理できます。
Condaを使用すると、Cライブラリ、コンパイラ、テストスイート、データベースエンジンなど、バージョン番号が異なる複数の汎用環境を切り替えて管理できます。
CondaはWindows中心ではありませんが、Windowsでは、コンパイルが必要な複雑な科学パッケージのインストールと管理が必要な場合に、現在利用できる優れたソリューションです。
Windowsでpipを使用してこれらのパッケージの多くをコンパイルしようとしてどれだけの時間を失ったか、またはpip install
コンパイルが必要なときに失敗したセッションをデバッグしたいと思ったら泣きたいです。
最後のポイントとして、Continuum Analyticsは(無料の)binstar.org(現在はanaconda.orgと呼ばれます)もホストしているため、通常のパッケージ開発者は、パッケージユーザーが利用できる独自の(ビルドされた)ソフトウェアスタックを作成できconda install
ます。
Keras
コードにインポートし、macにanacondaをインストールしました。Keras もconda
インストールされ、pip
インストールされています。端末内に自分のコードを実行しているときに、どのように私は知っていますkeras
(インポートされているpip
1またはconda
1)?
さらに混乱させることはありませんが、conda環境内でpipを使用して、上記の一般的なコメントとpython固有のマネージャーのコメントを検証することもできます。
conda install -n testenv pip
source activate testenv
pip <pip command>
また、pipを任意の環境のデフォルトパッケージに追加して、毎回存在するようにして、上記のスニペットに従う必要がないようにすることもできます。
fully supported
か?fully recommended
私の心には、conda環境内で、condaよりもpipを使用する方がよいことを意味しています。
ContinuumのWebサイトへのデータサイエンス記事のCondaからの引用:
コンダvsピップ
Pythonプログラマーは、おそらくPyPIからパッケージをダウンロードして要件を管理するためのpipに精通しているでしょう。condaとpipはどちらもパッケージマネージャーですが、非常に異なります。
- PipはPythonパッケージに固有で、condaは言語に依存しません。つまり、condaを使用して任意の言語のパッケージを管理できます。Pipはソースからコンパイルし、condaはバイナリをインストールして、コンパイルの負担を取り除きます。
- Condaは言語にとらわれない環境をネイティブに作成しますが、pipはvirtualenvに依存してPython環境のみを管理しますが、condaパッケージを常に使用することをお勧めしますが、condaにはpipも含まれているため、2つを選択する必要はありません。たとえば、condaパッケージはありませんが、pipから利用できるpythonパッケージをインストールするには、次のように実行します。
conda install pip
pip install gensim
Condaからの引用:神話と誤解(包括的な説明):
...
現実:Condaとpipは異なる目的で使用され、タスクの小さなサブセットでのみ直接競合します。つまり、隔離された環境へのPythonパッケージのインストールです。
Pip、これはP ip I nstalls Pの略です ackagesの略で、Pythonの公式に認可されたパッケージマネージャーであり、Pythonパッケージインデックス(PyPI)で公開されたパッケージをインストールするために最もよく使用されます。pipとPyPIはどちらも、Python Packaging Authority(PyPA)によって管理およびサポートされています。
つまり、pipはPythonパッケージの汎用マネージャーです。condaは、言語に依存しないクロスプラットフォーム環境マネージャーです。ユーザーにとって、最も顕著な違いはおそらくこれです:pipは任意の環境内にpythonパッケージをインストールします。condaは、conda環境内に任意のパッケージをインストールします。分離された環境内にPythonパッケージをインストールするだけの場合、依存関係の処理とパッケージの可用性の違いにより、condaとpip + virtualenvはほとんど交換可能です。隔離された環境とは、システムのPythonインストールを変更せずにパッケージをインストールできるconda-envまたはvirtualenvを意味します。
神話#2を脇に置いても、Pythonパッケージのインストールのみに焦点を合わせると、condaとpipは異なる対象者と異なる目的に役立ちます。たとえば、既存のシステムPythonインストール内でPythonパッケージを管理したい場合、condaは役に立ちません。設計上、conda環境内にのみパッケージをインストールできます。たとえば、外部の依存関係に依存する多くのPythonパッケージ(NumPy、SciPy、およびMatplotlibが一般的な例です)で作業し、それらの依存関係を意味のある方法で追跡する場合、pipは役立ちません:設計により、 PythonパッケージとPythonパッケージのみを管理します。
Condaとpipは競合他社ではなく、さまざまなユーザーグループと使用パターンに焦点を当てたツールです。
WINDOWSユーザー向け
「標準」パッケージングツールの状況は最近改善されています。
pypi自体には、9月の時点でホイールパッケージの48%があります。2015年11月(2015年5月の38%、2014年9月の24%から増加)、
ホイール形式は、最新のpython 2.7.9に従ってそのまま使用できるようになりました。
「標準」+「微調整」パッケージツールの状況も改善されています。
あなたはhttp://www.lfd.uci.edu/~gohlke/pythonlibsでホイール形式のほぼすべての科学的パッケージを見つけることができます、
mingwpyプロジェクトは、ある日Windowsユーザーに「コンパイル」パッケージを提供し、必要なときにソースからすべてをインストールできるようにする可能性があります。
「Conda」パッケージングは、それが提供する市場にとってより良いままであり、「標準」がすべき領域を強調しています改善される。
(また、標準ホイールシステムとコンダシステム、またはビルドアウトでの依存関係の仕様の複数の努力は、あまりPythonicではなく、これらのすべてのパッケージング「コア」手法が一種のPEPを介して収束できるとよいでしょう)
pipを使用してiPythonをインストールできますか?
はい、両方です(ページの最初のアプローチ)
pip install ipython
そして(3番目のアプローチ、2番目はconda
)
GitHubまたはPyPIからIPythonを手動でダウンロードできます。これらのバージョンの1つをインストールするには、それをアンパックし、ターミナルを使用してトップレベルのソースディレクトリから以下を実行します。
pip install .
を公式に推奨するインストール方法です。
すでにpipを持っているのに、なぜcondaを別のpythonパッケージマネージャとして使用する必要があるのですか?
ここで言ったように:
特定のパッケージが必要な場合(おそらく1つのプロジェクトのみ)、またはプロジェクトを他の人と共有する必要がある場合は、condaがより適切と思われます。
ピップとコンダの違いは何ですか?
それは他のすべての人から広く回答されています。
pip
Python専用です
conda
Anaconda + R依存関係などの他の科学的パッケージのみを対象としています。Pythonに付属しているAnacondaが必要なわけではありません。Anacondaは、主に機械学習やディープラーニングなどを行う人向けです。カジュアルなPython開発者は、ラップトップでAnacondaを実行しません。
マイナーな性質のもう1つの違いを発見した可能性があります。私のPython環境は、/usr
どちらかというよりも下にあり/home
ます。インストールするには、を使用する必要がありますsudo install pip
。私にとって、の望ましくない副作用は、sudo install pip
他で広く報告されているものとは少し異なりました。そうした後、-installedパッケージをインポートするために、を実行python
するsudo
必要がありましたsudo
。私はそれをあきらめ、最終的にはsudo conda
への許可を/usr
必要とせずに通常どおりインポートされる環境にパッケージをインストールするために使用できることを発見しました。またはを使用するのではなく、壊れた部分を修正することもありました。 sudo
python
sudo conda
pip
sudo pip uninstall pip
sudo pip --upgrade install pip
conda
/enpgk
が対象となっnew users who want to get up and running with minimal effort
ています。ところで、iPythonではなくIPyhton(大文字のI)