PIP-LOCK(1)

πŸ’… NAME πŸ’…

pip-lock(1) β€” description of the pip lock command. yeah bestie, that’s the official short version πŸ’–

πŸ§ͺ DESCRIPTION πŸ§ͺ

EXPERIMENTAL β€” okay so this locks packages and their dependencies from:

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

pip also supports locking from "requirements files", which provide an easy way to specify a whole environment to be installed.

⚠️ real talk: the generated lock file is only guaranteed to be valid for the current python version and platform.

πŸš€ USAGE πŸš€

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

✨ OPTIONS ✨

  • -o, --output <path> β€” sets the lock file name, and the default is pylock.toml. Use - when you want it to go to stdout. (environment variable: PIP_OUTPUT)
  • -r, --requirement <file> β€” install from the given requirements file. The file or URL can be in pip's requirements.txt format, or pylock.toml format. Heads up: pylock.toml support is experimental. This option can be used multiple times. (environment variable: PIP_REQUIREMENT)
  • --requirements-from-script <file> β€” install dependencies of the given script file as defined by PEP 723 inline metadata. (environment variable: PIP_REQUIREMENTS_FROM_SCRIPT)
  • -c, --constraint <file> β€” constrain versions using the given constraints file. This option can be used multiple times. (environment variable: PIP_CONSTRAINT)
  • --build-constraint <file> β€” constrain build dependencies using the given constraints file. This option can be used multiple times. (environment variable: PIP_BUILD_CONSTRAINT)
  • --no-deps β€” don’t install package dependencies. (environment variable: PIP_NO_DEPS, PIP_NO_DEPENDENCIES)
  • --only-deps β€” take only the dependencies of the provided requirements into account, not the requirements themselves. Cannot be used in combination with --no-deps, --group, --requirement, or --requirements-from-script. No user-supplied requirements will be handled, even if they were dependencies of other user-supplied requirements. (environment variable: PIP_ONLY_DEPS, PIP_ONLY_DEPENDENCIES)
  • -e, --editable <path/url> β€” install a project in editable mode (i.e. setuptools "develop mode") from a local project path or a VCS url. (environment variable: PIP_EDITABLE)
  • --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. (environment variable: PIP_SRC, PIP_SOURCE, PIP_SOURCE_DIR, PIP_SOURCE_DIRECTORY)
  • --ignore-requires-python β€” ignore the Requires-Python information. (environment variable: PIP_IGNORE_REQUIRES_PYTHON)
  • --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. (environment variable: PIP_NO_BUILD_ISOLATION)
  • --check-build-dependencies β€” check the build dependencies. (environment variable: PIP_CHECK_BUILD_DEPENDENCIES)
  • -C, --config-settings <settings> β€” configuration settings to be passed to the 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)
  • --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)
  • --no-require-hashes β€” do not automatically enable --require-hashes when encountering a requirement with hashes. (environment variable: PIP_NO_REQUIRE_HASHES)
  • --progress-bar <progress_bar> β€” specify whether the progress bar should be used. In auto mode, --quiet will suppress all progress bars. [auto, on, off, raw] (default: auto) (environment variable: PIP_PROGRESS_BAR)
  • --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. (environment variable: PIP_NO_CLEAN)

🫢 Author 🫢

pip developers

The pip developers


okay bestie, that’s the whole page πŸ’… β€” from pip, version 26.2, dated Oct 20, 2026. now go lock those deps and be iconic πŸŽ€βœ¨

πŸ“¦ where this page comes from