test(deps): update dependency pipenv to v2026 (main) #5584
+5
−5
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.
This PR contains the following updates:
2025.1.3->2026.0.3Release Notes
pypa/pipenv (pipenv)
v2026.0.3Compare Source
=====================
v2026.0.2Compare Source
=====================
v2026.0.1Compare Source
=====================
v2026.0.0Compare Source
============================
Features & Improvements
Add
--systemflag topipenv runcommand. This allows running scriptsdefined in Pipfile's
[scripts]section without creating a virtualenv,which is useful in Docker environments where packages are installed with
pipenv install --system.#​2692 <https://github.com/pypa/pipenv/issues/2692>_Allow
pipenv install --system <package>to install specific packages to thesystem Python. Previously this was blocked with an error message. This enables
Docker workflows where users want to interactively add packages to a project
that uses system-level installation.
#​4086 <https://github.com/pypa/pipenv/issues/4086>_Added support for PEP 751 pylock.toml files:
use_pylock = trueto the[pipenv]section of your Pipfile to generate pylock.toml files alongside Pipfile.lock.pylock_name = "name"in the[pipenv]section to generate named pylock files (e.g., pylock.name.toml).#​6391 <https://github.com/pypa/pipenv/issues/6391>_Add support for
--devflag inpipenv uninstallcommand to remove packages fromdev-packagessection directly.#​6392 <https://github.com/pypa/pipenv/issues/6392>_Add
PIPENV_PYENV_AUTO_INSTALLenvironment variable to automatically install missing Python versions via pyenv or asdf without prompting the user.#​6408 <https://github.com/pypa/pipenv/issues/6408>_Bug Fixes
Fix
--systemand--pythonflags to work together correctly. Previously,using both flags would still create a virtualenv. Now when
--systemis usedwith
--python, pipenv validates that the specified Python version existson the system and raises a clear error if not found.
#​4973 <https://github.com/pypa/pipenv/issues/4973>_Make
--quietflag actually suppress output duringpipenv installandpipenv sync.Previously, messages like "Installing dependencies from Pipfile.lock" and "All dependencies are now up-to-date!" were shown even with
--quiet.#​5037 <https://github.com/pypa/pipenv/issues/5037>_Fix SSH
gitusername being incorrectly redacted to****when importingfrom requirements.txt, which caused lockfile generation to fail.
#​5599 <https://github.com/pypa/pipenv/issues/5599>_Fix malformed
Pipfile.lockcausing command to exit successfully with code 0.Now raises
LockfileCorruptExceptionwhich properly propagates as an error.#​5622 <https://github.com/pypa/pipenv/issues/5622>_Fix VCS dependencies (git, etc.) not being reinstalled when the ref/commit changes in the lockfile.
Previously,
pipenv updatewould update the lockfile with the new commit hash but the installedpackage in the virtualenv would remain unchanged, requiring
pipenv --rmto force a reinstall.#​5791 <https://github.com/pypa/pipenv/issues/5791>_Fix
pipenv-resolverCLI not working. The command now properly handlespackage arguments from the command line, sets a default category of "default",
and correctly loads the pipenv module with all submodules.
#​5862 <https://github.com/pypa/pipenv/issues/5862>_Fix
--lock-onlyflag forpipenv upgradecommand to properly skip adding package specifiers to Pipfile when set.#​6131 <https://github.com/pypa/pipenv/issues/6131>_Improve error handling in
do_lockby properly catching and handling exceptions fromvenv_resolve_deps.RuntimeError now exits cleanly, and other exceptions display a full traceback for debugging.
#​6166 <https://github.com/pypa/pipenv/issues/6166>_Fixed
pipenv install --index=xxxwherexxxis not a valid URL or known index name now raises a clear error instead of creating a malformed source entry in the Pipfile.#​6168 <https://github.com/pypa/pipenv/issues/6168>_Fix
PIPENV_ACTIVEenvironment variable not being unset when runningdeactivatein a pipenv shell, which caused "Shell for UNKNOWN_VIRTUAL_ENVIRONMENT already activated" errors on subsequentpipenv shellcommands.#​6220 <https://github.com/pypa/pipenv/issues/6220>_Fix
pipenv lockto properly apply default package version constraints when resolving dev-packages and other categories. When a package is constrained in the[packages]section (e.g.,httpx = "==0.24.1"), dev-packages that depend on it will now be constrained to compatible versions.#​6347 <https://github.com/pypa/pipenv/issues/6347>_Fix typo in
get_constraints_from_depswhere version string was incorrectly formatted using the entire dependency dict instead of the version string.#​6354 <https://github.com/pypa/pipenv/issues/6354>_Fix for PEP660 editable VCS dependencies not reinstalled correctly.
#​6362 <https://github.com/pypa/pipenv/issues/6362>_Resolver errors now display clean, user-friendly messages instead of confusing stacktraces in non-verbose mode.
#​6388 <https://github.com/pypa/pipenv/issues/6388>_Validate Python version when using
--systemflag.Previously,
pipenv install --system --deploywould silently proceed even if the system Python version didn't match thepython_versionspecified in Pipfile/Pipfile.lock.Now it properly raises a DeployException when the versions don't match.
#​6403 <https://github.com/pypa/pipenv/issues/6403>_Fix editable package name being incorrectly parsed from test files in subdirectories.
Previously, when installing an editable local package, pipenv would recursively search
all subdirectories for
setup.pyfiles. This could cause a test file with asetup(name='foo')call to be incorrectly used as the package name. Now,setup.py,setup.cfg, andpyproject.tomlare only checked in the root directory. Metadatafiles (
PKG-INFO,METADATA) are still searched in.egg-infoand.dist-infodirectories.
Fixes #6409
#​6409 <https://github.com/pypa/pipenv/issues/6409>_Fix
pipenv check --quietnot working properly. The--quietflag nowcorrectly suppresses informational output and forces JSON output format for
safety so that results can be parsed correctly.
Fixes #6414
#​6414 <https://github.com/pypa/pipenv/issues/6414>_Fix
pipenv update --dev(andpipenv update --categories develop) updatingtransitive dependencies in the
developsection independently from thedefaultsection. Now, any packages that appear in both
defaultanddevelopwill usethe version from
default, ensuring consistent dependency versions betweenproduction and development environments.
Fixes #6420
#​6420 <https://github.com/pypa/pipenv/issues/6420>_Fix markers not being respected for file-based and VCS dependencies during resolution.
Markers are now correctly included in the pip install line, allowing pipenv to skip
resolution for dependencies whose markers don't match the current environment.
#​6431 <https://github.com/pypa/pipenv/issues/6431>_Fix
pipenv requirements --dev-only --from-pipfileto only include packages explicitly listed indev-packages, not packages from other categories that happen to also be transitive dependencies of dev packages.#​6440 <https://github.com/pypa/pipenv/issues/6440>_Fix
pipenv updateincorrectly marking all packages as modified when Pipfile contains version ranges (e.g.,>=2.25.1) instead of exact versions. The comparison now properly checks if the locked version satisfies the Pipfile specifier, rather than doing a string comparison. This significantly improves performance ofpipenv updatewhen no packages have actually been modified.#​6454 <https://github.com/pypa/pipenv/issues/6454>_Fix
TypeError: cannot unpack non-iterable PermissionError objecton Windows with Python 3.12+when removing read-only files (e.g., git pack files). The
handle_remove_readonlyerror handlernow properly handles both the deprecated
onerrorcallback signature (tuple) and the newonexccallback signature (exception instance) introduced in Python 3.12.#​6474 <https://github.com/pypa/pipenv/issues/6474>_Fix benchmark CI job hanging by adding timeout and
PIPENV_YES=1environment variable to prevent interactive prompts.#​6477 <https://github.com/pypa/pipenv/issues/6477>_Fix subprocess deadlock in resolver that could cause
pipenv lockto hang indefinitely when the resolver subprocess writes large amounts of data to stdout. The fix reads stdout and stderr concurrently using threads, preventing pipe buffer deadlocks.#benchmark <https://github.com/pypa/pipenv/issues/benchmark>_Improved Documentation
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.