pip download

使用法

python -m pip download [options] <requirement specifier> [package-index-options] ...
python -m pip download [options] -r <requirements file> [package-index-options] ...
python -m pip download [options] <vcs project url> ...
python -m pip download [options] <local project path> ...
python -m pip download [options] <archive url/path> ...
py -m pip download [options] <requirement specifier> [package-index-options] ...
py -m pip download [options] -r <requirements file> [package-index-options] ...
py -m pip download [options] <vcs project url> ...
py -m pip download [options] <local project path> ...
py -m pip download [options] <archive url/path> ...

説明

からパッケージをダウンロードします。

  • 要件指定子を使用するPyPI(およびその他のインデックス)。

  • VCSプロジェクトのURL。

  • ローカルプロジェクトのディレクトリ。

  • ローカルまたはリモートのソースアーカイブ。

pipは、「要件ファイル」からのダウンロードもサポートしており、ダウンロードする環境全体を簡単に指定できます。

概要

pip downloadは、pip installと同じ解決とダウンロードを実行しますが、依存関係をインストールする代わりに、ダウンロードしたディストリビューションを(デフォルトでは現在のディレクトリである)指定されたディレクトリに収集します。 このディレクトリは、オフラインまたはロックダウンされたパッケージのインストールを容易にするために、後でpip install --find-linksの値として渡すことができます。

pip downloadに、--platform--python-version--implementation、および--abiオプションを使用すると、pipが実行されているものとは異なるインタープリターとシステムの依存関係を取得できます。 これらのオプションを使用する場合は、--only-binary=:all:または--no-depsが必要です。 これらのオプションはすべて、現在のシステム/インタープリターにデフォルト設定されており、最も制限の厳しい制約(例:プラットフォームany、abi noneなど)にはデフォルト設定されていないことに注意することが重要です。 現在のインタープリターの制約にたまたま一致する(が、ターゲットの制約には一致しない)依存関係の取得を避けるには、これらのオプションの1つを指定する場合は、これらのオプションすべてを指定することをお勧めします。 一般的な依存関係(例:ユニバーサルホイール、またはプラットフォーム、abi、または実装の制約がない依存関係)は、過剰に制約されたダウンロード要件にも一致します。 一部の依存関係がバイナリとして利用できない場合は、ターゲットプラットフォーム用に手動でビルドし、--find-linksを使用してpip downloadにその場所を知らせることができます。

オプション

-c, --constraint <file>

指定された制約ファイルを使用してバージョンを制約します。 このオプションは複数回使用できます。

(環境変数:PIP_CONSTRAINT

-r, --requirement <file>

指定された要件ファイルからインストールします。 このオプションは複数回使用できます。

(環境変数:PIP_REQUIREMENT

--no-deps

パッケージの依存関係をインストールしません。

(環境変数:PIP_NO_DEPSPIP_NO_DEPENDENCIES

--global-option <options>

インストールまたはbdist_wheelコマンドの前にsetup.py呼び出しに渡される追加のグローバルオプション。

(環境変数:PIP_GLOBAL_OPTION

--no-binary <format_control>

バイナリパッケージを使用しません。 複数回指定でき、そのたびに追加されます。すべてのバイナリパッケージを無効にする場合は「:all:」、セットを空にする場合は「:none:」(コロンに注意)、またはコンマで区切られた1つ以上のパッケージ名(コロンなし)を指定できます。 一部のパッケージはコンパイルが難しく、このオプションを使用するとインストールに失敗する可能性があることに注意してください。

(環境変数:PIP_NO_BINARY

--only-binary <format_control>

ソースパッケージを使用しません。 複数回指定でき、そのたびに追加されます。すべてのソースパッケージを無効にする場合は「:all:」、セットを空にする場合は「:none:」、またはコンマで区切られた1つ以上のパッケージ名を指定できます。 バイナリディストリビューションのないパッケージは、このオプションを使用するとインストールに失敗します。

(環境変数:PIP_ONLY_BINARY

--prefer-binary

ソースパッケージが新しい場合でも、ソースパッケージよりもバイナリパッケージを優先します。

(環境変数:PIP_PREFER_BINARY

--src <dir>

編集可能なプロジェクトをチェックアウトするディレクトリ。仮想環境でのデフォルトは「<venvパス>/src」です。グローバルインストールのデフォルトは「<現在のディレクトリ>/src」です。

(環境変数:PIP_SRCPIP_SOURCEPIP_SOURCE_DIRPIP_SOURCE_DIRECTORY

--pre

プレリリースバージョンと開発バージョンを含めます。 デフォルトでは、pipは安定バージョンのみを検索します。

(環境変数:PIP_PRE

--require-hashes

反復可能なインストールのために、各要件をチェックするハッシュを要求します。 このオプションは、要件ファイル内のいずれかのパッケージに--hashオプションがある場合に暗黙的に指定されます。

(環境変数:PIP_REQUIRE_HASHES

--progress-bar <progress_bar>

プログレスバーを使用するかどうかを指定します[on、off、raw](デフォルト:on)

(環境変数:PIP_PROGRESS_BAR

--no-build-isolation

最新のソースディストリビューションをビルドするときに分離を無効にします。 このオプションを使用する場合は、PEP 518で指定されたビルド依存関係が既にインストールされている必要があります。

(環境変数:PIP_NO_BUILD_ISOLATION

--use-pep517

ソースディストリビューションのビルドにPEP 517を使用します(レガシー動作を強制するには--no-use-pep517を使用します)。

(環境変数:PIP_USE_PEP517

--check-build-dependencies

PEP517を使用する場合は、ビルド依存関係を確認します。

(環境変数:PIP_CHECK_BUILD_DEPENDENCIES

--ignore-requires-python

Requires-Python情報を無視します。

(環境変数:PIP_IGNORE_REQUIRES_PYTHON

-d, --dest <dir>

パッケージを<dir>にダウンロードします。

(環境変数: PIP_DEST, PIP_DESTINATION_DIR, PIP_DESTINATION_DIRECTORY)

--platform <platform>

<platform>と互換性のあるwheelのみを使用します。デフォルトは実行中のシステムのプラットフォームです。ターゲットインタープリターでサポートされる複数のプラットフォームを指定するには、このオプションを複数回使用します。

(環境変数: PIP_PLATFORM)

--python-version <python_version>

wheelおよび「Requires-Python」互換性チェックに使用するPythonインタープリターのバージョン。デフォルトは、実行中のインタープリターから派生したバージョンです。バージョンは、最大3つのドットで区切られた整数(例:3.0.0の場合は「3」、3.7.0の場合は「3.7」、3.7.3の場合は「3.7.3」)を使用して指定できます。メジャーマイナーバージョンは、ドットなしの文字列(例:3.7.0の場合は「37」)として指定することもできます。

(環境変数: PIP_PYTHON_VERSION)

--implementation <implementation>

Python実装<implementation>(例:'pp'、'jy'、'cp'、'ip')と互換性のあるwheelのみを使用します。指定しない場合は、現在のインタープリター実装が使用されます。実装に依存しないwheelを強制するには、「py」を使用します。

(環境変数: PIP_IMPLEMENTATION)

--abi <abi>

Python abi <abi>(例:'pypy_41')と互換性のあるwheelのみを使用します。指定しない場合、現在のインタープリターのabiタグが使用されます。ターゲットインタープリターでサポートされる複数のabiを指定するには、このオプションを複数回使用します。通常、このオプションを使用する場合は、--implementation、--platform、および--python-versionを指定する必要があります。

(環境変数: PIP_ABI)

--no-clean

ビルドディレクトリをクリーンアップしません。

(環境変数: PIP_NO_CLEAN)

-i, --index-url <url>

Python Package IndexのベースURL(デフォルトhttps://pypi.org/simple)。これは、PEP 503(簡易リポジトリAPI)に準拠したリポジトリ、または同じ形式で配置されたローカルディレクトリを指している必要があります。

(環境変数: PIP_INDEX_URL, PIP_PYPI_URL)

--extra-index-url <url>

--index-urlに加えて使用するパッケージインデックスの追加URL。--index-urlと同じルールに従う必要があります。

(環境変数: PIP_EXTRA_INDEX_URL)

--no-index

パッケージインデックスを無視します(代わりに--find-links URLのみを参照します)。

(環境変数: PIP_NO_INDEX)

-f, --find-links <url>

URLまたはhtmlファイルへのパスの場合、sdist(.tar.gz)またはwheel(.whl)ファイルなどのアーカイブへのリンクを解析します。ローカルパスまたはfile://ディレクトリのURLの場合、ディレクトリリストでアーカイブを探します。VCSプロジェクトURLへのリンクはサポートされていません。

(環境変数: PIP_FIND_LINKS)

  1. パッケージとそのすべての依存関係をダウンロードします

    python -m pip download SomePackage
    python -m pip download -d . SomePackage  # equivalent to above
    python -m pip download --no-index --find-links=/tmp/wheelhouse -d /tmp/otherwheelhouse SomePackage
    
    py -m pip download SomePackage
    py -m pip download -d . SomePackage  # equivalent to above
    py -m pip download --no-index --find-links=/tmp/wheelhouse -d /tmp/otherwheelhouse SomePackage
    
  2. OSX固有のインタープリター制約を使用して、パッケージとそのすべての依存関係をダウンロードします。これにより、OSX 10.10以下の互換性が強制されます。OSXの依存関係は前方互換性があるため、これはmacosx_10_9_x86_64macosx_10_8_x86_64macosx_10_8_intelなどにも一致します。プラットフォームがanyの依存関係にも一致します。また、インタープリターのバージョンを27(またはより一般的な2)に強制し、実装をcp(またはより一般的なpy)に強制します。

    python -m pip download \
       --only-binary=:all: \
       --platform macosx_10_10_x86_64 \
       --python-version 27 \
       --implementation cp \
       SomePackage
    
    py -m pip download ^
       --only-binary=:all: ^
       --platform macosx_10_10_x86_64 ^
       --python-version 27 ^
       --implementation cp ^
       SomePackage
    
  3. Linux固有の制約を使用して、パッケージとその依存関係をダウンロードします。インタープリターをpy3kのマイナーバージョンに強制し、abiとしてcp34mまたはnoneのみを受け入れます。

    python -m pip download \
       --only-binary=:all: \
       --platform linux_x86_64 \
       --python-version 3 \
       --implementation cp \
       --abi cp34m \
       SomePackage
    
    py -m pip download ^
       --only-binary=:all: ^
       --platform linux_x86_64 ^
       --python-version 3 ^
       --implementation cp ^
       --abi cp34m ^
       SomePackage
    
  4. プラットフォーム、実装、およびabiに依存しない依存関係を強制します。

    python -m pip download \
       --only-binary=:all: \
       --platform any \
       --python-version 3 \
       --implementation py \
       --abi none \
       SomePackage
    
    py -m pip download ^
       --only-binary=:all: ^
       --platform any ^
       --python-version 3 ^
       --implementation py ^
       --abi none ^
       SomePackage
    
  5. 過剰に制約されている場合でも、これによりpipユニバーサルwheelが正しくフェッチされます。

    $ python -m pip download \
       --only-binary=:all: \
       --platform linux_x86_64 \
       --python-version 33 \
       --implementation cp \
       --abi cp34m \
       pip>=8
    
    $ ls pip-8.1.1-py2.py3-none-any.whl
    pip-8.1.1-py2.py3-none-any.whl
    
    C:\> py -m pip download ^
       --only-binary=:all: ^
       --platform linux_x86_64 ^
       --python-version 33 ^
       --implementation cp ^
       --abi cp34m ^
       pip>=8
    
    C:\> dir pip-8.1.1-py2.py3-none-any.whl
    pip-8.1.1-py2.py3-none-any.whl
    
  6. 複数のABIとプラットフォームをサポートするパッケージをダウンロードします。

    これは、pipが実行されているものとは異なる、サポートされているABIとプラットフォームが既知で固定されている、明確に定義されたインタープリター用のwheelをフェッチする場合に役立ちます。

    $ python -m pip download \
       --only-binary=:all: \
       --platform manylinux1_x86_64 --platform linux_x86_64 --platform any \
       --python-version 36 \
       --implementation cp \
       --abi cp36m --abi cp36 --abi abi3 --abi none \
       SomePackage
    
    C:> py -m pip download ^
       --only-binary=:all: ^
       --platform manylinux1_x86_64 --platform linux_x86_64 --platform any ^
       --python-version 36 ^
       --implementation cp ^
       --abi cp36m --abi cp36 --abi abi3 --abi none ^
       SomePackage