summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2016-09-30 06:53:44 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2016-09-30 06:53:44 (GMT)
commit1813aa1a0c456d36efce87cfacf47eb89b6958e6 (patch)
tree06a4df21b3fbd63eb923ed10db48eccb46584762 /Lib
parent55f3ae68bb5b3d17719f9c2b85913c9a3f38adbb (diff)
downloadcpython-1813aa1a0c456d36efce87cfacf47eb89b6958e6.zip
cpython-1813aa1a0c456d36efce87cfacf47eb89b6958e6.tar.gz
cpython-1813aa1a0c456d36efce87cfacf47eb89b6958e6.tar.bz2
Issue #25488: Stpp idle.py from adding a entry when it is a duplicate.
Also, make idlelib.idle.main() work after import idlelib.idle.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/idlelib/idle.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/Lib/idlelib/idle.py b/Lib/idlelib/idle.py
index a249557..141534d 100644
--- a/Lib/idlelib/idle.py
+++ b/Lib/idlelib/idle.py
@@ -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()