]> granicus.if.org Git - python/commitdiff
Issue #25488: Stpp idle.py from adding a entry when it is a duplicate.
authorTerry Jan Reedy <tjreedy@udel.edu>
Fri, 30 Sep 2016 06:53:33 +0000 (02:53 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Fri, 30 Sep 2016 06:53:33 +0000 (02:53 -0400)
Also, make idlelib.idle.main() work after import idlelib.idle.

Lib/idlelib/idle.py

index a249557dd1076870d5dfe6aeb632782189c0d729..141534dfe13583942cba5807f53295e9fc78adb9 100644 (file)
@@ -1,11 +1,13 @@
 import os.path
 import sys
 
-# If we are working on a development version of IDLE, we need to prepend the
-# parent of this idlelib dir to sys.path.  Otherwise, importing idlelib gets
-# the version installed with the Python used to call this module:
+# Enable running IDLE with idlelib in a non-standard location.
+# This was once used to run development versions of IDLE.
+# Because PEP 434 declared idle.py a public interface,
+# removal should require deprecation.
 idlelib_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-sys.path.insert(0, idlelib_dir)
+if idlelib_dir not in sys.path:
+    sys.path.insert(0, idlelib_dir)
 
-import idlelib.PyShell
-idlelib.PyShell.main()
+from idlelib.PyShell import main  # This is subject to change
+main()