1. ホーム
  2. python

[解決済み] python setup.py install と pip install の違いについて

2022-06-08 08:59:38

質問

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

私はそれを行うことができる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つの方法で行うことに何か違いがあるのでしょうか。

どのように解決するのですか?

表面的には、どちらも同じことを行っています。 python setup.py install または pip install <PACKAGE-NAME> は、最小限の手間で、あなたのために python パッケージをインストールします。

しかし、pipを使用することで、さらにいくつかの利点があり、より快適に使用することができます。

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

というわけで、基本的にはpipを使いましょう。を使うよりも改善されるだけです。 python setup.py install .


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

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

また、一般的にpipとvirtualenvを併用することが推奨されています。Python初心者の方は、最初はpipを使ってグローバルにパッケージをインストールするだけでも良いと思いますが、より本格的なプロジェクトに取り組む際には、virtualenvを使うように移行した方が良いと個人的には考えています。

pipとvirtualenvを一緒に使うことについてもっと学びたいなら、以下を参照してください。