2013-03-30 24 views
43

私はpython virtualenvにtarファイルからインストールしたい外部パッケージを持っています。 パッケージをインストールする最も良い方法は何ですか?'python setup.py install'と 'pip install'の違い

私はそれを行うための2つの方法を発見しました: 1)tarファイルを抽出し、抽出されたディレクトリの中に 'python setup.py install'を実行します。 2)例7の例7の「pip install packagename.tar.gz」https://pip.pypa.io/en/stable/reference/pip_install/#examples

これらの2つの方法で違いがあるかどうかです。

+2

「pip」を使用してください。あなたはそれでパッケージをアンインストールすることができます。 – Blender

+0

「ソースから」「VCSチェックアウト」のように、または 'sdist'のように? – delnan

+0

"ベスト"とは何ですか?あなたはこれらの解決策のいずれかを試しましたか、何らかの形で欠けていませんか?あるいは、これらのアプローチの違いは何か? –

答えて

48

表面では、どちらも同じことをします:python setup.py installまたはpip install <PACKAGE-NAME>のいずれかを実行すると、最小限の騒ぎであなたのためのpythonパッケージがインストールされます。

しかし、pipを使用するといくつかのメリットがあり、使用するほうがはるかに優れています。

  • pipは自動的にパッケージのすべての依存関係をダウンロードします。対照的に、setup.pyを使用する場合は、手動で検索して依存関係をダウンロードする必要があります。これは面倒で面倒なことがあります。
  • pipは、単一のコマンド(pip uninstall <PACKAGE-NAME>およびpip install --upgrade <PACKAGE-NAME>)でパッケージを簡単にアンインストールして更新できるさまざまなメタデータを追跡します。これとは対照的に、setup.pyを使用してパッケージをインストールする場合は、パッケージを手動で削除して管理しなければなりません。これは、エラーを起こす可能性があります。
  • ファイルを手動でダウンロードする必要がなくなりました。 setup.pyを使用している場合は、図書館のウェブサイトにアクセスし、ダウンロードする場所を見つけてファイルを解凍し、setup.pyを実行する必要があります...ピップはPython Package Index(PyPi)を自動的に検索してパッケージが存在するかどうかを確認し、パッケージが自動的にダウンロード、展開、インストールされます。いくつかの例外を除いて、本当に有用なPythonライブラリのほとんどはPyPi上にあります。
  • pipは、easily installホイールを提供します。これは、Pythonディストリビューションの新しい標準です。 More info about wheels
  • pipは、コンピュータ上で競合するライブラリとPythonバージョンを必要とする複数のプロジェクトを実行するためのプログラムであるvirtualenvを使用することで、さらに効果的に統合できます。 More info
  • pipは、Python 2.xシリーズのPython 2.7.9以降のPython、Python 3.xシリーズのPython 3.4.0でバンドルされており、使いやすくなっています。

したがって、基本的にはpipを使用します。 python setup.py installを使用した場合に比べて改善点​​があります。

PIPは、それ自体で、実際にチュートリアルは必要ありません。 90%の時間、実際に必要なコマンドはpip install <PACKAGE-NAME>です。それはあなたが正確にあなたがピップで何ができるかの詳細についての詳細を学ぶことに興味があるなら、見る、言った:

通常、pipとvirtualenvを一緒に使用することをお勧めします。 Pythonの初心者であれば、私は個人的にはpipを使ってパッケージをインストールするだけで大​​丈夫だと思っていますが、最終的には、より深刻なプロジェクトに取り組む際にvirtualenvを使うべきだと思います。あなたが一緒にピップとvirtualenvのを使用しての詳細についてはしたい場合は

、以下を参照してください

8

python setup.py installはメイクのアナログでインストールします。ファイルをコンパイルして宛先ディレクトリにコピーする方法は限られています。これは、実際にシステムにソフトウェアをインストールするのが最良の方法であるとは限りません。

pipアップグレード、インストールできるパッケージマネージャ、リストおよびアンインストールパッケージである、などのおなじみのパッケージマネージャのように:ボンネットの下にdpkg, apt, yum, urpmi, portsなど、それがどのように、物事の終わりを制御するためにpython setup.py installを実行しますが、特定のオプションを使用しますインストールされています。

要約:pipを使用してください。

関連する問題