Skip to content

Conversation

@edmorley
Copy link
Member

@edmorley edmorley commented Jan 8, 2026

In #2000, Pipenv was updated to v2026.0.3, which contained a number of fixes for the historically very buggy --system mode.

Since that Pipenv release was meant to fix many of the --system bugs, one of the workarounds for those bugs was removed, since even without the workaround the regression test for that bug still passed (implying the upstream fixes had worked as expected).

However, it appears that the bug still exists in some form that was not being picked up by the original testcase, as reported in:
#2000 (comment)

As such, I've had to re-add the workaround. This also affects the logs, since in the new Pipenv version, if PIPENV_VERBOSITY="-1" is set (which is required to stop an annoying multi-line warning about a venv being present), then the Installing dependencies from ... line is no longer printed.

It seems the bug now only reproduces with different versions of the certifi package, so I've updated the test fixture accordingly. (My first thought was that perhaps the difference is whether our testcase's certifi matches the Pipenv vendored version exactly or not, however, varying to another older version also didn't reproduce?).

I've also added packaging as another testcase dependency, in the hope that in the future at least one of these packages will be able to reproduce the issue, should we try and remove the workaround again.

Longer term, these continual Pipenv bugs are making me inclined to deprecate/strongly discourage Pipenv usage, given there are now much more reliable/better maintained/faster alternatives (such as uv) that don't suffer from these chronic bugs.

GUS-W-20819376.

@edmorley edmorley self-assigned this Jan 8, 2026
@edmorley edmorley added the bug label Jan 8, 2026
In #2000, Pipenv was updated to v2026.0.3, which contained a number of
fixes for the historically very buggy `--system` mode.

Since that Pipenv release was meant to fix many of the `--system` bugs,
one of the workarounds for those bugs was removed, since even without it
the existing tests for that bug still passed (implying the upstream
fixes had worked as expected).

However, it appears that the bug still exists in some form that was not
being picked up by the original testcase, as reported in:
#2000 (comment)

As such, I've had to re-add the workaround. This also affects the logs,
since in the new Pipenv version, if `PIPENV_VERBOSITY="-1"` is set
(which is required to stop an obnoxious multi-line warning about a venv
being present), then the `Installing dependencies from ...` line is no
longer printed.

It seems the bug now only reproduces with different versions of the
`certifi` package, so I've updated the test fixture accordingly. (My
first thought was that perhaps the difference is whether our testcase's
`certifi` matches the Pipenv vendored version exactly or not, however,
varying to another older version also didn't reproduce?).

I've also added `packaging` as another testcase dependency, in the hope
that in the future at least one of these packages will be able to
reproduce the issue, should we try and remove the workaround again.

Longer term, these continual Pipenv bugs are making me inclined to
deprecate/strongly discourage Pipenv usage, given there are now much
more reliable/better maintained/faster alternatives (such as uv) that
don't suffer from these chronic bugs.

GUS-W-20819376.
@edmorley edmorley force-pushed the pipenv-system-workaround branch from d143d10 to 4f102f8 Compare January 8, 2026 16:11
@edmorley edmorley marked this pull request as ready for review January 8, 2026 16:17
@edmorley edmorley requested a review from a team as a code owner January 8, 2026 16:17
@edmorley edmorley merged commit 1b26c62 into main Jan 8, 2026
9 of 10 checks passed
@edmorley edmorley deleted the pipenv-system-workaround branch January 8, 2026 16:40
@heroku-linguist heroku-linguist bot mentioned this pull request Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants