PIP-WHEEL(1)

πŸ“¦
version 25.1.1 Β· 2 versions
, in epel 9

πŸ’… PIP-WHEEL(1) β€” the pip wheel glow-up (bestie edition)

okay so listen. this is pip-wheel from the pip manual, and yes i'm about to make wheel-building sound cute, because it is cute. buckle up πŸŽ€


✨ NAME ✨

pip-wheel β€” literally the description of the pip wheel command. that's it. that's the name section. short and iconic. πŸ’…


🌸 DESCRIPTION 🌸

okay so what does it do?? it builds Wheel archives for your requirements and dependencies. that's the whole vibe. πŸ¦‹

so a Wheel is a built-package format, and the way it ate is that it doesn't recompile your software during every single install β€” like, imagine not recompiling every time, couldn't be your source builds 🫢. more deets here, the wheel docs: https://wheel.readthedocs.io/en/latest/

and pip wheel uses the build system interface as described right here, no cap: https://pip.pypa.io/en/stable/reference/build-system/


⭐ USAGE ⭐

here's every way you can run it, verbatim, do not touch:

python -m pip wheel [options] <requirement specifier> ...
python -m pip wheel [options] -r <requirements file> ...
python -m pip wheel [options] [-e] <vcs project url> ...
python -m pip wheel [options] [-e] <local project path> ...
python -m pip wheel [options] <archive url/path> ...

πŸ‘‘ OPTIONS πŸ‘‘

bestie this is the part where we go line by line, no skipping, i promise. every flag, every env var, all of it. πŸ’–

  • -w, --wheel-dir <dir> β€” builds your wheels into <dir>, and the default is just the current working directory (very "i'm already here" of it). (environment variable: PIP_WHEEL_DIR)
  • --no-binary <format_control> β€” nope, no binary packages for you. you can pass this multiple times and each time it adds to the existing value. it accepts either :all: to disable all binary packages, :none: to empty the set (notice the colons, iykyk), or one or more package names with commas between them (no colons). heads up though: some packages are tricky to compile and may fail to install when you use this option on them 😭. (environment variable: PIP_NO_BINARY)
  • --only-binary <format_control> β€” the opposite energy: do not use source packages. multiple uses stack up, each adding 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. packages without binary distributions will fail to install when this option is used on them πŸ’€. (environment variable: PIP_ONLY_BINARY)
  • --prefer-binary β€” prefer binary packages over source packages, even if the source packages are newer. newer isn't always better, ok?? (environment variable: PIP_PREFER_BINARY)
  • --no-build-isolation β€” disables isolation when building a modern source distribution. ⚠️ build dependencies specified by PEP 518 must already be installed if you use this. (environment variable: PIP_NO_BUILD_ISOLATION)
  • --use-pep517 β€” use PEP 517 for building source distributions (and use --no-use-pep517 to force legacy behaviour, if you're feeling retro πŸ™ˆ). (environment variable: PIP_USE_PEP517)
  • --check-build-dependencies β€” checks the build dependencies when PEP517 is used. like a little vibe check but for deps. βœ… (environment variable: PIP_CHECK_BUILD_DEPENDENCIES)
  • -c, --constraint <file> β€” constrains versions using the given constraints file. this option can be used multiple times, stack 'em. (environment variable: PIP_CONSTRAINT)
  • -e, --editable <path/url> β€” installs a project in editable mode (i.e. setuptools "develop mode") from a local project path or a VCS url. (environment variable: PIP_EDITABLE)
  • -r, --requirement <file> β€” installs from the given requirements file. multiple uses? absolutely, go off. (environment variable: PIP_REQUIREMENT)
  • --src <dir> β€” the directory to check out editable projects into. default in a virtualenv is <venv path>/src, and the default for global installs is <current dir>/src. (environment variable: PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)
  • --ignore-requires-python β€” ignores the Requires-Python information. rules are made to be ignored i guess πŸ’€. (environment variable: PIP_IGNORE_REQUIRES_PYTHON)
  • --no-deps β€” don't install package dependencies. lone wolf behaviour. 🐺 (environment variable: PIP_NO_DEPS, PIP_NO_DEPENDENCIES)
  • --progress-bar <progress_bar> β€” specifies whether the progress bar should be used, one of [on, off, raw] (default: on). (environment variable: PIP_PROGRESS_BAR)
  • --no-verify β€” don't verify if the built wheel is valid. living dangerously, iconic. (environment variable: PIP_NO_VERIFY)
  • -C, --config-settings <settings> β€” configuration settings to be passed to the PEP 517 build backend. settings take the form KEY=VALUE. use multiple --config-settings options to pass multiple keys to the backend. (environment variable: PIP_CONFIG_SETTINGS)
  • --build-option <options> β€” extra arguments to be supplied to 'setup.py bdist_wheel'. (environment variable: PIP_BUILD_OPTION)
  • --global-option <options> β€” extra global options to be supplied to the setup.py call before the install or bdist_wheel command. (environment variable: PIP_GLOBAL_OPTION)
  • --pre β€” include pre-release and development versions. by default, pip only finds stable versions (boring but safe πŸŽ€). (environment variable: PIP_PRE)
  • --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. (environment variable: PIP_REQUIRE_HASHES)
  • --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. leave the mess, it's part of the process ✨. (environment variable: PIP_NO_CLEAN)

πŸ¦‹ AUTHOR πŸ¦‹

pip developers β€” the main characters, honestly πŸ‘‘


The pip developers β€” yes, same people, they hold the copyright too, slay πŸ’œ


okay that's the whole page bestie, you're now a wheel-building expert, fr fr 🫢✨

sign-off moment: this gorgeous little page is from pip version 25.1, dated Jun 26, 2025 β€” go build something cute with it πŸŽ€πŸ’–πŸ§š
πŸ“¦ where this page comes from
  • epel 9: python3.13-pip 25.1.1-1.el9 Β· MIT AND Python-2.0.1 AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MPL-2.0 AND (Apache-2.0 OR BSD-2-Clause)
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms