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:
1
AUTHORS
1
AUTHORS
@@ -340,6 +340,7 @@ Ronny Pfannschmidt
|
||||
Ross Lawley
|
||||
Ruaridh Williamson
|
||||
Russel Winder
|
||||
Russell Martin
|
||||
Ryan Puddephatt
|
||||
Ryan Wooden
|
||||
Sadra Barikbin
|
||||
|
||||
1
changelog/11875.bugfix.rst
Normal file
1
changelog/11875.bugfix.rst
Normal file
@@ -0,0 +1 @@
|
||||
Correctly handle errors from :func:`getpass.getuser` in Python 3.13.
|
||||
@@ -204,7 +204,7 @@ def get_user() -> Optional[str]:
|
||||
import getpass
|
||||
|
||||
return getpass.getuser()
|
||||
except (ImportError, KeyError):
|
||||
except (ImportError, OSError, KeyError):
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user