web-dev-qa-db-ja.com

「python setup.py install」と「pip install」の違い

Tarファイルからpython virtualenvにインストールする外部パッケージがあります。パッケージをインストールする最良の方法は何ですか?

私はそれを行うことができる2つの方法を発見しました:

  1. Tarファイルを抽出し、抽出したディレクトリ内でpython setup.py installを実行します。
  2. _ https://pip.pypa.io/en/stable/reference/pip_install/#examples の例#7のpip install packagename.tar.gz

これらの2つの方法でそれらを行うことに違いがあるかどうかです。

77
user2125465

表面的には、両方とも同じことを行います。python setup.py installまたはpip install <PACKAGE-NAME>のいずれかを実行すると、pythonパッケージが最小限の手間でインストールされます。

ただし、pipを使用すると、さらに使いやすくなる利点がいくつかあります。

  • pipは、パッケージのすべての依存関係を自動的にダウンロードします。対照的に、setup.pyを使用する場合、多くの場合、依存関係を手動で検索してダウンロードする必要があり、これは面倒でイライラする可能性があります。
  • pipは、pip uninstall <PACKAGE-NAME>およびpip install --upgrade <PACKAGE-NAME>という1つのコマンドでパッケージを簡単にアンインストールおよび更新できるさまざまなメタデータを追跡します。対照的に、setup.pyを使用してパッケージをインストールする場合、削除する場合は手動でパッケージを手動で削除および保守する必要があり、エラーが発生する可能性があります。
  • ファイルを手動でダウンロードする必要がなくなりました。 setup.pyを使用する場合、ライブラリのWebサイトにアクセスし、ダウンロードする場所を見つけてファイルを抽出し、setup.py...を実行する必要があります。対照的に、pipは Pythonパッケージインデックス (PyPi)にパッケージが存在するかどうかを確認し、パッケージを自動的にダウンロード、抽出、インストールします。いくつかの例外はありますが、PyPiではほとんどすべての本当に便利なPythonライブラリを見つけることができます。
  • pipを使用すると、 簡単にインストール ホイール、Pythonディストリビューション。 ホイールに関する詳細情報
  • pipには、virtualenvの使用とうまく統合できる追加の利点があります。これは、競合するライブラリとPythonバージョンをコンピューターで必要とする複数のプロジェクトを実行できるプログラムです。 詳細
  • pipは、デフォルトでPython as Python 2.7.9のPython 2.xシリーズ、およびPython 3.4.0 Python 3.xシリーズで、さらに使いやすくなりました。

基本的に、pipを使用します。 python setup.py installの使用よりも改善されているだけです。


古いバージョンのPythonを使用していて、アップグレードできず、pipがインストールされていない場合は、次のリンクでpipのインストールに関する詳細を参照できます。

pip自体は、チュートリアルを実際に必要としません。 90%の時間、本当に必要なコマンドはpip install <PACKAGE-NAME>だけです。とはいえ、pipでできることの詳細について詳しく知りたい場合は、以下を参照してください。

また、pipとvirtualenvを一緒に使用することも一般的に推奨されます。あなたがPythonの初心者であれば、個人的にはpipを使用してパッケージをグローバルにインストールすることから始めるのが良いと思いますが、最終的にはより深刻なプロジェクトに取り組むにつれてvirtualenvの使用に移行する必要があると思います。

Pipとvirtualenvの併用について詳しく知りたい場合は、以下を参照してください。

82
Michael0x2a