]> granicus.if.org Git - python/commitdiff
Merged revisions 72226 via svnmerge from
authorKurt B. Kaiser <kbk@shore.net>
Wed, 6 May 2009 03:38:31 +0000 (03:38 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Wed, 6 May 2009 03:38:31 +0000 (03:38 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72226 | kurt.kaiser | 2009-05-02 21:03:44 -0400 (Sat, 02 May 2009) | 3 lines

  idle.py modified and simplified to better support
  developing experimental versions of IDLE which are
  not installed in the standard location.
........

Lib/idlelib/NEWS.txt
Lib/idlelib/idle.py

index 9bb47ba1995a150756b5099fb7909b6185a92605..573f45ffcac273e1a0abf1038321af71bd64f472 100644 (file)
@@ -30,6 +30,9 @@ What's New in IDLE 2.7? (UNRELEASED, but merged into 3.1 releases above.)
 
 *Release date: XX-XXX-2009*
 
+- idle.py modified and simplified to better support developing experimental
+  versions of IDLE which are not installed in the standard location.
+
 - OutputWindow/PyShell right click menu "Go to file/line" wasn't working with
   file paths containing spaces.  Bug 5559.
 
index 52e2ebbf4d51ef890ee3c9d1912867afbc76a15b..a249557dd1076870d5dfe6aeb632782189c0d729 100644 (file)
@@ -1,22 +1,11 @@
-try:
-    import idlelib, idlelib.PyShell
-except ImportError:
-    # IDLE is not installed, but maybe PyShell is on sys.path:
-    print("*** idle.py import error! Trying alternate approach....")
-    try:
-        import PyShell
-    except ImportError:
-        raise
-    else:
-        import os
-        idledir = os.path.dirname(os.path.abspath(PyShell.__file__))
-        if idledir != os.getcwd():
-            # We're not in the IDLE directory, help the subprocess find run.py
-            pypath = os.environ.get('PYTHONPATH', '')
-            if pypath:
-                os.environ['PYTHONPATH'] = pypath + ':' + idledir
-            else:
-                os.environ['PYTHONPATH'] = idledir
-        PyShell.main()
-else:
-    idlelib.PyShell.main()
+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:
+idlelib_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+sys.path.insert(0, idlelib_dir)
+
+import idlelib.PyShell
+idlelib.PyShell.main()