gh-121359: make clean environment (no PYTHON* vars) for test_pyrepl.TestMain (GH-121672)

Co-authored-by: Ɓukasz Langa <lukasz@langa.pl>
diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py
index 8fff372..543a13e 100644
--- a/Lib/test/test_pyrepl/test_pyrepl.py
+++ b/Lib/test/test_pyrepl/test_pyrepl.py
@@ -884,6 +884,19 @@ def test_bracketed_paste_single_line(self):
 
 @skipUnless(pty, "requires pty")
 class TestMain(TestCase):
+    def setUp(self):
+        # Cleanup from PYTHON* variables to isolate from local
+        # user settings, see #121359.  Such variables should be
+        # added later in test methods to patched os.environ.
+        clean_env = os.environ.copy()
+        for k in clean_env.copy():
+            if k.startswith("PYTHON"):
+                clean_env.pop(k)
+
+        patcher = patch('os.environ', new=clean_env)
+        self.addCleanup(patcher.stop)
+        patcher.start()
+
     @force_not_colorized
     def test_exposed_globals_in_repl(self):
         pre = "['__annotations__', '__builtins__'"