gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset#146357
Merged
vstinner merged 3 commits intopython:mainfrom Mar 27, 2026
Merged
gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset#146357vstinner merged 3 commits intopython:mainfrom
vstinner merged 3 commits intopython:mainfrom
Conversation
Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused
ensurepip to search the current working directory for wheel files.
Add a truthiness check to treat empty strings the same as None.
vstinner
reviewed
Mar 24, 2026
Misc/NEWS.d/next/Library/2026-03-24-03-49-50.gh-issue-146310.WhlDir.rst
Outdated
Show resolved
Hide resolved
Per @vstinner: - Simplify to 'if _pkg_dir:' instead of walrus + is not None - Replace mock-based test with import_fresh_module for both '' and None - Reword NEWS to describe old behavior instead of fix
Contributor
Author
|
Thanks @vstinner! Updated all three points:
|
Member
|
Oh, "macOS / build and test (macos-26-intel)" CI failed with a timeout on test_wm_iconbitmap(): I created #146531 to track this bug and I re-ran the CI. |
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this pull request
Mar 27, 2026
…ythonGH-146357) Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused ensurepip to search the current working directory for wheel files. Add a truthiness check to treat empty strings the same as None. (cherry picked from commit 73cc1fd4f45b4daf2b2f9a6be69148775c7c2bff) Co-authored-by: Imgyu Kim <kimimgo@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
|
GH-146534 is a backport of this pull request to the 3.14 branch. |
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this pull request
Mar 27, 2026
…ythonGH-146357) Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused ensurepip to search the current working directory for wheel files. Add a truthiness check to treat empty strings the same as None. (cherry picked from commit 73cc1fd) Co-authored-by: Imgyu Kim <kimimgo@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
|
GH-146535 is a backport of this pull request to the 3.13 branch. |
Member
|
Merged, thanks for the fix. |
vstinner
added a commit
that referenced
this pull request
Mar 27, 2026
…GH-146357) (#146535) gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (GH-146357) Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused ensurepip to search the current working directory for wheel files. Add a truthiness check to treat empty strings the same as None. (cherry picked from commit 73cc1fd) Co-authored-by: Imgyu Kim <kimimgo@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
vstinner
added a commit
that referenced
this pull request
Mar 27, 2026
…GH-146357) (#146534) gh-146310: Fix ensurepip to treat empty WHEEL_PKG_DIR as unset (GH-146357) Path('') resolves to CWD, so an empty WHEEL_PKG_DIR string caused ensurepip to search the current working directory for wheel files. Add a truthiness check to treat empty strings the same as None. (cherry picked from commit 73cc1fd) Co-authored-by: Imgyu Kim <kimimgo@gmail.com> Co-authored-by: Victor Stinner <vstinner@python.org>
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.
Fixes #146310
Path('')resolves to the current working directory (PosixPath('.')), so whenWHEEL_PKG_DIRis an empty string (notNone),ensurepipsearches CWD for wheel files. This can cause unexpected behavior or crashes if CWD contains files matchingpip-*.whl.Changes
Lib/ensurepip/__init__.py: Add truthiness check so empty strings are treated the same asNoneLib/test/test_ensurepip.py: Add test verifying emptyWHEEL_PKG_DIRdoes not search CWDBefore/After