Catch `OSError` from `getpass.getuser()` (#11875)

- Previously, `getpass.getuser()` would leak an ImportError if the
  USERNAME environment variable was not set on Windows because the `pwd`
  module cannot be imported.
- Starting in Python 3.13.0a3, it only raises `OSError`.

Fixes #11874
This commit is contained in:
Russell Martin 2024-01-28 21:07:18 -05:00 committed by GitHub
parent 8853a57532
commit 14d3707818
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 1 deletions

View File

@ -340,6 +340,7 @@ Ronny Pfannschmidt
Ross Lawley
Ruaridh Williamson
Russel Winder
Russell Martin
Ryan Puddephatt
Ryan Wooden
Sadra Barikbin

View File

@ -0,0 +1 @@
Correctly handle errors from :func:`getpass.getuser` in Python 3.13.

View File

@ -204,7 +204,7 @@ def get_user() -> Optional[str]:
import getpass
return getpass.getuser()
except (ImportError, KeyError):
except (ImportError, OSError, KeyError):
return None