パッケージインデックスのミラーとキャッシュ#
- ページステイタス:
未完了
- 最終査読日:
2023年11月8日
PyPI (あるいは他の パッケージインデックス) のミラーやキャッシュがあると、手元でパッケージをインストールするのが速くなったり、オフラインでインストールできたり、会社のファイアウォール経由でもできたり、あるいは、単純にインターネットがあてにならなくてもインストールできたりします。
この領域のオプションには複数のクラスがあります:
パッケージインデックスのローカルまたはホストされたキャッシュ。
パッケージインデックスのローカルまたはホストされたミラーリング。ミラーとは、パッケージインデックスの (全体または一部の) コピーで、オリジナルのインデックスの代わりに使うことができます。
(例えば依存関係を混乱させる攻撃を緩和するための) 公開のパッケージインデックスへフォールスルーする機能を持ったプライベートなパッケージインデックスで、プロクシーとも呼ばれる。
pipによるキャッシュ#
pip は、 パッケージ のローカルキャッシュを使って素早くインストールするためのいくつもの機能を提供します。
あるプロジェクトの依存先パッケージをすべてダウンロードし、 pip を PyPI の代わりにそれらダウンロード済みファイルに向けることによる 速くてローカルなインストール 。
python -m pip wheel を用いて依存先パッケージのインストール用ファイルをあらかじめビルドしておくという上記のバリエーション:
python3 -m pip wheel --wheel-dir=/tmp/wheelhouse SomeProject python3 -m pip install --no-index --find-links=/tmp/wheelhouse SomeProject
既存のプロジェクト#
プロジェクト |
キャッシュ |
ミラー |
プロクシ |
補遺 |
---|---|---|---|---|
✔ |
✔ |
継承・同期・複製・フェイルオーバ・パッケージアップロードの機能を持つ複数のインデックス群 |
||
✔ |
✔ |
|||
✔ |
カスタムプラグインによってキャッシングや他のパッケージインデックスへのリルーティングが可能になります |
|||
✔ |
✔ |
保守されていない; 認証・認可 |
||
✔ |
✔ |
Pulp 用のプラグイン; 複数のプロクシされたインデックス; パッケージアップロード |
||
✔ |
✔ |
複数のプロクシされたインデックス群 |
||
✔ |
✔ |
複数のプロクシされたインデックス群 |
||
✔ |
✔ |
保守されていない |
||
✔ |
✔ |
mod_rewrite および mod_cache_disk を用いて、Apache サーバ経由のパッケージインデックスへのリクエストをキャッシュすることができます |