From: Kurt B. Kaiser Date: Sun, 3 May 2009 01:03:44 +0000 (+0000) Subject: idle.py modified and simplified to better support X-Git-Tag: v2.7a1~1306 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=106ac46b3fb4751fb19a0e7b429c7ad3f71dc345;p=python idle.py modified and simplified to better support developing experimental versions of IDLE which are not installed in the standard location. --- diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt index a7ac7b7ebd..fee9c619fd 100644 --- a/Lib/idlelib/NEWS.txt +++ b/Lib/idlelib/NEWS.txt @@ -3,6 +3,9 @@ What's New in IDLE 2.7a0? *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. diff --git a/Lib/idlelib/idle.py b/Lib/idlelib/idle.py index 537dd5a9a7..a249557dd1 100644 --- a/Lib/idlelib/idle.py +++ b/Lib/idlelib/idle.py @@ -1,21 +1,11 @@ -try: - import idlelib.PyShell -except ImportError: - # IDLE is not installed, but maybe PyShell is on sys.path: - 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()