web-dev-qa-db-ja.com

PIPインストールは実際に何をしますか?

スーパーニューボーの質問.

PIPインストールは実際に何をしますか?

PYPIパッケージがtarballであると仮定して...

それはただtar.gzをダウンロードし、それを解凍してsetup.pyを実行しますか?

ダウンロードしたパッケージをsite_packagesフォルダに追加しますか?

Pypiserverを使用してPIPインストール可能なPKGを作成したいので、私の同僚は痛みのない方法でPKGをダウンロードすることができますが、実際の.pyスクリプトを超えるのは少しわからない。

どんな指導も評価されます

11
Derek Eden

Tar.gzファイルはソースアーカイブですが、.whlファイルは構築されたディストリビューションです。新しいPIPバージョンは、構築されたディストリビューションを優先的にインストールしますが、必要に応じてソースアーカイブに戻ります。あなたは常にソースアーカイブをアップロードして、プロジェクトと互換性のあるプラットフォーム用のアーカイブを構築する必要があります。この場合、私たちの例のパッケージは任意のプラットフォームでPythonと互換性があるため、1つのプラットフォームのみが必要です。

参照: https://packaging.python.org/tutorials/packaging-projects/

通常、ソースアーカイブとホイールを手動で作成することはできませんが、setuptoolswheelを使用してください。

今日、多くのパッケージは車輪です。 PIPを使用してこれらのホイールを取り付ける間、PIPは次のよ​​うになります。

[...]現在のサイトパッケージディレクトリのアーカイブを解凍し、ホイールに含まれているコンソールスクリプトをインストールします。

参照: https://wheel.readthedocs.io/en/stable/user_guide.html#installing-wheels

0
dkreeft