PIP-DOWNLOAD(1)

πŸ“¦ version 22.3.1, in centos-stream 9

πŸ’– NAME πŸ’–

Bestie, this is pip-download(1) β€” literally the description of the pip download command. No cap, that's the whole NAME section. πŸ’…


✨ DESCRIPTION ✨

Okay so pip download downloads packages from:

  • PyPI (and other indexes) using requirement specifiers.
  • VCS project urls.
  • Local project directories.
  • Local or remote source archives.

pip also supports downloading from "requirements files", which provide an easy way to specify a whole environment to be downloaded. Iconic behavior, honestly. πŸŽ€


πŸ› οΈ USAGE πŸ› οΈ

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> ...

🌸 OPTIONS 🌸

Every flag, every crumb, none skipped. Let's go, bestie 🫢

  • -c, --constraint <file> β€” Constrain versions using the given constraints file. This option can be used multiple times.
  • -r, --requirement <file> β€” Install from the given requirements file. This option can be used multiple times.
  • --no-deps β€” Don't install package dependencies.
  • --global-option <options> β€” Extra global options to be supplied to the setup.py call before the install or bdist_wheel command.
  • --no-binary <format_control> β€” Do not use binary packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either :all: to disable all binary packages, :none: to empty the set (notice the colons), or one or more package names with commas between them (no colons).
Heads up, bestie: some packages are tricky to compile and may fail to install when this option is used on them. 😭
  • --only-binary <format_control> β€” Do not use source packages. Can be supplied multiple times, and each time adds to the existing value. Accepts either :all: to disable all source packages, :none: to empty the set, or one or more package names with commas between them.
Also important: packages without binary distributions will fail to install when this option is used on them.
  • --prefer-binary β€” Prefer older binary packages over newer source packages.
  • --src <dir> β€” Directory to check out editable projects into. The default in a virtualenv is <venv path>/src. The default for global installs is <current dir>/src.
  • --pre β€” Include pre-release and development versions. By default, pip only finds stable versions.
  • --require-hashes β€” Require a hash to check each requirement against, for repeatable installs. This option is implied when any package in a requirements file has a --hash option.
  • --progress-bar <progress_bar> β€” Specify whether the progress bar should be used [on, off] (default: on)
  • --no-build-isolation β€” Disable isolation when building a modern source distribution. Build dependencies specified by PEP 518 must be already installed if this option is used.
  • --use-pep517 β€” Use PEP 517 for building source distributions (use --no-use-pep517 to force legacy behaviour).
  • --check-build-dependencies β€” Check the build dependencies when PEP517 is used.
  • --ignore-requires-python β€” Ignore the Requires-Python information.
  • -d, --dest <dir> β€” Download packages into <dir>.
  • --platform <platform> β€” Only use wheels compatible with <platform>. Defaults to the platform of the running system. Use this option multiple times to specify multiple platforms supported by the target interpreter.
  • --python-version <python_version> β€” The Python interpreter version to use for wheel and "Requires-Python" compatibility checks. Defaults to a version derived from the running interpreter. The version can be specified using up to three dot-separated integers (e.g. "3" for 3.0.0, "3.7" for 3.7.0, or "3.7.3"). A major-minor version can also be given as a string without dots (e.g. "37" for 3.7.0).
  • --implementation <implementation> β€” Only use wheels compatible with Python implementation <implementation>, e.g. 'pp', 'jy', 'cp', or 'ip'. If not specified, then the current interpreter implementation is used. Use 'py' to force implementation-agnostic wheels.
  • --abi <abi> β€” Only use wheels compatible with Python abi <abi>, e.g. 'pypy_41'. If not specified, then the current interpreter abi tag is used. Use this option multiple times to specify multiple abis supported by the target interpreter. Generally you will need to specify --implementation, --platform, and --python-version when using this option.
  • --no-clean β€” Don't clean up build directories.

πŸ‘‘ AUTHOR πŸ‘‘

pip developers β€” that's the author, periodt. πŸ‘‘


The pip developers β€” that's the copyright line, bestie. 🫢


pip 22.3 Β· Jun 25, 2025 β€” that's the version + date footer vibe. Mwah, go download cute things πŸ’‹πŸŒΈ

πŸ“¦ where this page comes from