Skip to content

Deprecate using Pipenv without a lockfile#1695

Merged
edmorley merged 1 commit intomainfrom
pipenv-lockfile-warning
Nov 12, 2024
Merged

Deprecate using Pipenv without a lockfile#1695
edmorley merged 1 commit intomainfrom
pipenv-lockfile-warning

Conversation

@edmorley
Copy link
Copy Markdown
Member

@edmorley edmorley commented Nov 11, 2024

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.

Towards #1702.
GUS-W-17201692.

@edmorley edmorley self-assigned this Nov 11, 2024
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.
@edmorley edmorley force-pushed the pipenv-lockfile-warning branch from 3c186c8 to 39a41dd Compare November 11, 2024 15:13
@edmorley edmorley marked this pull request as ready for review November 11, 2024 15:21
@edmorley edmorley requested a review from a team as a code owner November 11, 2024 15:21
@edmorley edmorley merged commit ddf6aea into main Nov 12, 2024
@edmorley edmorley deleted the pipenv-lockfile-warning branch November 12, 2024 10:29
@heroku-linguist heroku-linguist bot mentioned this pull request Nov 12, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants