Deprecate using Pipenv without a lockfile#1695
Merged
Conversation
Using Pipenv without a lockfile can result in nondeterministic package installs, and so for some years if `Pipfile.lock` is missing we've emitted a recommendation in the build log to add it. In addition, Pipenv has also since deprecated the `--skip-lockfile` feature upstream. As such, we'd like to sunset support for using Pipenv without a lockfile, but first we should make the existing warning more explicit and include instructions on how to generate a lockfile. GUS-W-17201692.
3c186c8 to
39a41dd
Compare
Malax
approved these changes
Nov 12, 2024
Merged
edmorley
added a commit
that referenced
this pull request
Jul 15, 2025
For historical reasons, the buildpack has supported using the package manager Pipenv without a lockfile. However, doing so results in non-deterministic installs (package versions can vary across environments) and so is unsafe / not recommended. As such, since #1695 in November 2024, we've shown a deprecation warning if apps have only a `Pipfile` and no `Pipfile.lock` file. Plenty of time has now passed, and metrics show usage very few apps hitting this warning. In addition, upstream Pipenv has also deprecated support for `--skip-lock`: pypa/pipenv@8775d59 As such, it's time to change this warning to an error. Affected apps will need to run `pipenv lock` and commit the resultant `Pipfile.lock` to Git. Closes #1702. GUS-W-17308738.
edmorley
added a commit
that referenced
this pull request
Jul 15, 2025
For historical reasons, the buildpack has supported using the package manager Pipenv without a lockfile. However, doing so results in non-deterministic installs (package versions can vary across environments) and so is unsafe / not recommended. As such, since #1695 in November 2024, we've shown a deprecation warning if apps have only a `Pipfile` and no `Pipfile.lock` file. Plenty of time has now passed, and metrics show usage very few apps hitting this warning. In addition, upstream Pipenv has also deprecated support for `--skip-lock`: pypa/pipenv@8775d59 As such, it's time to change this warning to an error. Affected apps will need to run `pipenv lock` and commit the resultant `Pipfile.lock` to Git. Closes #1702. GUS-W-17308738.
edmorley
added a commit
that referenced
this pull request
Jul 15, 2025
For historical reasons, the buildpack has supported using the package manager Pipenv without a lockfile. However, doing so results in non-deterministic installs (package versions can vary across environments) and so is unsafe / not recommended. As such, since #1695 in November 2024, we've shown a deprecation warning if apps have only a `Pipfile` and no `Pipfile.lock` file. Plenty of time has now passed, and metrics show usage very few apps hitting this warning. In addition, upstream Pipenv has also deprecated support for `--skip-lock`: pypa/pipenv@8775d59 As such, it's time to change this warning to an error. Affected apps will need to run `pipenv lock` and commit the resultant `Pipfile.lock` to Git. Closes #1702. GUS-W-17308738.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Using Pipenv without a lockfile can result in nondeterministic package installs, and so for some years if
Pipfile.lockis missing we've emitted a recommendation in the build log to add it.In addition, Pipenv has also since deprecated the
--skip-lockfilefeature upstream.As such, we'd like to sunset support for using Pipenv without a lockfile, but first we should make the existing warning more explicit and include instructions on how to generate a lockfile.
Towards #1702.
GUS-W-17201692.