「python setup.py install」と「pip install」の違い 質問する

「python setup.py install」と「pip install」の違い 質問する

tar ファイルから Python 仮想環境にインストールしたい外部パッケージがあります。パッケージをインストールする最適な方法は何ですか?

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

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

これら 2 つの方法で実行した場合に何か違いがあるかどうかです。

ベストアンサー1

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

ただし、pip を使用すると、さらに使いやすくなるいくつかの追加の利点が得られます。

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

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


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

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

また、pip と virtualenv を一緒に使用することも一般的に推奨されています。Python 初心者の場合は、pip を使用してパッケージをグローバルにインストールするだけでも問題ないと思いますが、最終的には、より本格的なプロジェクトに取り組むにつれて virtualenv の使用に移行すべきだと思います。

pip と virtualenv を一緒に使用する方法について詳しく知りたい場合は、以下を参照してください。

おすすめ記事