PIP3-DOWNLOAD(1)

πŸ’– pip3-download(1) πŸ’–

okay bestie, welcome to pip3-download, which lives in the pip manual family. this is literally the download command and we're gonna get you all the way together. grab a snack πŸ“


✨ NAME ✨

pip3-download β€” the whole description of the pip3 download command. that's it, that's the name, slay.


🌈 DESCRIPTION 🌈

so pip3 download will pull packages from, like, everywhere. multitalented icon behavior:

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

and not me forgetting β€” pip ALSO supports downloading from "requirements files", which are lowkey the easiest way to say "here's a whole environment, go get all of it" πŸ’…


πŸ¦‹ USAGE πŸ¦‹

here's the vibe, copy it exactly:

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

pick your main character moment, they all work πŸ’–


πŸ‘‘ OPTIONS πŸ‘‘

every single one, no skipping, periodt:

  • -c, --constraint <file> β€” constrain versions using the constraints file you give it. you can use this option multiple times, it's giving stackable queen.

(environment variable: PIP_CONSTRAINT)

  • --build-constraint <file> β€” same energy but for constraining the build dependencies, using the constraints file you hand over. also repeatable as many times as you want.

(environment variable: PIP_BUILD_CONSTRAINT)

  • -r, --requirement <file> β€” install from the requirements file you point at. the file or URL can be in pip's requirements.txt format, or the pylock.toml format. heads up bestie: pylock.toml support is experimental. and yep, multiple times allowed.

(environment variable: PIP_REQUIREMENT)

  • --requirements-from-script <file> β€” installs the dependencies of the script file you give, as defined by PEP 723 inline metadata. iykyk.

(environment variable: PIP_REQUIREMENTS_FROM_SCRIPT)

  • --no-deps β€” do NOT install package dependencies. we're going solo on this one πŸ™ˆ

(environment variable: PIP_NO_DEPS, PIP_NO_DEPENDENCIES)

  • --src <dir> β€” the directory to check out editable projects into. inside a virtualenv the default is <venv path>/src. for global installs the default is <current dir>/src.

(environment variable: PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)

  • --require-hashes β€” require a hash to check each requirement against, for those repeatable installs we love. this option is implied when any package in a requirements file has a --hash option. no cap, it just kicks in.

(environment variable: PIP_REQUIRE_HASHES)

  • --progress-bar <progress_bar> β€” say whether the progress bar should be used. in 'auto' mode, --quiet will suppress all progress bars. options are [auto, on, off, raw], and the default is auto.

(environment variable: PIP_PROGRESS_BAR)

  • --no-build-isolation β€” disables isolation when building a modern source distribution. if you use this, the build dependencies specified by PEP 518 must already be installed. dramatic but true, don't skip that part.

(environment variable: PIP_NO_BUILD_ISOLATION)

  • --check-build-dependencies β€” check the build dependencies. short and sweet.

(environment variable: PIP_CHECK_BUILD_DEPENDENCIES)

  • --ignore-requires-python β€” ignore the Requires-Python information. living dangerously, we love that for you.

(environment variable: PIP_IGNORE_REQUIRES_PYTHON)

  • -d, --dest <dir> β€” download packages into <dir>.

(environment variable: PIP_DEST, PIP_DESTINATION_DIR, PIP_DESTINATION_DIRECTORY)

  • --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. multi-platform? multi-slay ✨

(environment variable: PIP_PLATFORM)

  • --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. you can specify it with up to three dot-separated integers (like "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 (like "37" for 3.7.0). flexible fr fr.

(environment variable: PIP_PYTHON_VERSION)

  • --implementation <implementation> β€” only use wheels compatible with Python implementation <implementation>, e.g. 'pp', 'jy', 'cp', or 'ip'. if you don't specify it, the current interpreter implementation is used. use 'py' to force implementation-agnostic wheels.

(environment variable: PIP_IMPLEMENTATION)

  • --abi <abi> β€” only use wheels compatible with Python abi <abi>, e.g. 'pypy_41'. if not specified, 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. they're a package deal bestie 🫢

(environment variable: PIP_ABI)

  • --group <[path:]group> β€” install a named dependency-group from a "pyproject.toml" file. if a path is given, the name of the file must be "pyproject.toml". defaults to using "pyproject.toml" in the current directory.

(environment variable: PIP_GROUP)

  • --no-clean β€” don't clean up build directories. the mess stays, and honestly? relatable 😭

(environment variable: PIP_NO_CLEAN)


πŸ’œ Author πŸ’œ

pip developers β€” the icons themselves πŸ‘‘

The pip developers


and that's the whole page, bestie, you ate πŸ’…πŸ’–

version 26.1, dated Jun 02, 2026, from the pip3-download(1) manual β€” mwah, go download something iconic πŸ¦‹βœ¨

πŸ“¦ where this page comes from