#! /usr/bin/env python

import os
import sys
import IdleConf

idle_dir = os.path.split(sys.argv[0])[0]
IdleConf.load(idle_dir)

# defer importing Pyshell until IdleConf is loaded
import PyShell
PyShell.main()

#! /usr/bin/env python

import os
import sys
import IdleConf

idle_dir = os.path.dirname(IdleConf.__file__)
IdleConf.load(idle_dir)

# defer importing Pyshell until IdleConf is loaded
import PyShell
PyShell.main()

Use a better approach to locating IDLE's default configuration, allowing it to be run from anywhere, including through a symlink to the actual idle.py script.