idle.py 742 Bytes
Newer Older
Kurt B. Kaiser's avatar
Kurt B. Kaiser committed
1
try:
2
    import idlelib, idlelib.PyShell
3
except ImportError:
Kurt B. Kaiser's avatar
Kurt B. Kaiser committed
4
    # IDLE is not installed, but maybe PyShell is on sys.path:
5
    print("*** idle.py import error! Trying alternate approach....")
Kurt B. Kaiser's avatar
Kurt B. Kaiser committed
6
    try:
7
        import PyShell
Kurt B. Kaiser's avatar
Kurt B. Kaiser committed
8
    except ImportError:
9
        raise
Kurt B. Kaiser's avatar
Kurt B. Kaiser committed
10 11 12 13 14 15
    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', '')
16 17 18 19
            if pypath:
                os.environ['PYTHONPATH'] = pypath + ':' + idledir
            else:
                os.environ['PYTHONPATH'] = idledir
Kurt B. Kaiser's avatar
Kurt B. Kaiser committed
20
        PyShell.main()
21 22
else:
    idlelib.PyShell.main()