From ca9689f8dac01d27e041e1dbbdae146746d48ab3 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Mon, 7 Mar 2022 14:36:47 +0200 Subject: bpo-46933: Make pwd module optional (GH-31700) Co-authored-by: Erlend Egeberg Aasland --- Lib/posixpath.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'Lib/posixpath.py') diff --git a/Lib/posixpath.py b/Lib/posixpath.py index a46c667db56..a7b2f2d6482 100644 --- a/Lib/posixpath.py +++ b/Lib/posixpath.py @@ -241,7 +241,11 @@ def expanduser(path): i = len(path) if i == 1: if 'HOME' not in os.environ: - import pwd + try: + import pwd + except ImportError: + # pwd module unavailable, return path unchanged + return path try: userhome = pwd.getpwuid(os.getuid()).pw_dir except KeyError: @@ -251,7 +255,11 @@ def expanduser(path): else: userhome = os.environ['HOME'] else: - import pwd + try: + import pwd + except ImportError: + # pwd module unavailable, return path unchanged + return path name = path[1:i] if isinstance(name, bytes): name = str(name, 'ASCII') -- cgit v1.2.3