[3.6] bpo-30166: backport pyshell changes (GH 1293) (#2098)

(cherry-pick IDLE pyshell change from 7e4db2f)
diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py
index dd6c997..5b0e5b2 100755
--- a/Lib/idlelib/pyshell.py
+++ b/Lib/idlelib/pyshell.py
@@ -18,12 +18,10 @@
     raise SystemExit(1)
 
 from code import InteractiveInterpreter
-import getopt
-import io
 import linecache
 import os
 import os.path
-from platform import python_version, system
+from platform import python_version
 import re
 import socket
 import subprocess
@@ -32,14 +30,12 @@
 import tokenize
 import warnings
 
-from idlelib import testing  # bool value
 from idlelib.colorizer import ColorDelegator
 from idlelib.config import idleConf
 from idlelib import debugger
 from idlelib import debugger_r
 from idlelib.editor import EditorWindow, fixwordbreaks
 from idlelib.filelist import FileList
-from idlelib import macosx
 from idlelib.outwin import OutputWindow
 from idlelib import rpc
 from idlelib.run import idle_formatwarning, PseudoInputFile, PseudoOutputFile
@@ -1372,6 +1368,11 @@
 """
 
 def main():
+    import getopt
+    from platform import system
+    from idlelib import testing  # bool value
+    from idlelib import macosx
+
     global flist, root, use_subprocess
 
     capture_warnings(True)