From 56586c925d30dbac177fe756687f619c454c702c Mon Sep 17 00:00:00 2001 From: Giampaolo Rodola Date: Tue, 7 Mar 2023 18:30:55 +0100 Subject: fix exec() compatibility with PYPY (closes #2198) --- psutil/_common.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'psutil') diff --git a/psutil/_common.py b/psutil/_common.py index da8a96e5..90e76c6c 100644 --- a/psutil/_common.py +++ b/psutil/_common.py @@ -369,7 +369,12 @@ class TimeoutExpired(Error): # This should be in _compat.py rather than here, but does not work well # with setup.py importing this module via a sys.path trick. if PY3: - __builtins__["exec"]("""def raise_from(value, from_value): + if isinstance(__builtins__, dict): # cpython + exec_ = __builtins__["exec"] + else: # pypy + exec_ = getattr(__builtins__, "exec") + + exec_("""def raise_from(value, from_value): try: raise value from from_value finally: -- cgit v1.2.1