]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-119102: Fix REPL for dumb terminal (GH-119332) (#119359)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 22 May 2024 00:14:44 +0000 (02:14 +0200)
committerGitHub <noreply@github.com>
Wed, 22 May 2024 00:14:44 +0000 (00:14 +0000)
The site module gets the __main__ module to get _pyrepl.__main__.
(cherry picked from commit de8f530841b55885b919677a6938ab33d4a92f20)

Co-authored-by: Victor Stinner <vstinner@python.org>
Lib/site.py

index 4ba078388a37b8ef7c3c401a4891efc9563cee2e..f1a6d9cf66fdc3ab15c0b5018f1218d036c51c43 100644 (file)
@@ -523,7 +523,12 @@ def register_readline():
             pass
 
         def write_history():
-            from _pyrepl.__main__ import CAN_USE_PYREPL
+            try:
+                # _pyrepl.__main__ is executed as the __main__ module
+                from __main__ import CAN_USE_PYREPL
+            except ImportError:
+                CAN_USE_PYREPL = False
+
             try:
                 if os.getenv("PYTHON_BASIC_REPL") or not CAN_USE_PYREPL:
                     readline.write_history_file(history)