summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-05-04 05:17:47 (GMT)
committerGitHub <noreply@github.com>2017-05-04 05:17:47 (GMT)
commit7e4db2f253c555568d56177c2fd083bcf8f88d34 (patch)
treeaa2606f09d5b1095bb20573ed6b0be38ca4d6f33
parent1c4670ea0cc3d208121af11b9b973e6bb268e570 (diff)
downloadcpython-7e4db2f253c555568d56177c2fd083bcf8f88d34.zip
cpython-7e4db2f253c555568d56177c2fd083bcf8f88d34.tar.gz
cpython-7e4db2f253c555568d56177c2fd083bcf8f88d34.tar.bz2
bpo-30166: Import command-line parsing modules only when needed. (#1293)
-rw-r--r--Lib/code.py3
-rw-r--r--Lib/doctest.py3
-rw-r--r--Lib/http/server.py3
-rwxr-xr-xLib/idlelib/pyshell.py10
-rwxr-xr-xLib/profile.py7
-rwxr-xr-xLib/tabnanny.py3
-rwxr-xr-xLib/trace.py3
7 files changed, 20 insertions, 12 deletions
diff --git a/Lib/code.py b/Lib/code.py
index 23295f4..d8106ae 100644
--- a/Lib/code.py
+++ b/Lib/code.py
@@ -7,7 +7,6 @@
import sys
import traceback
-import argparse
from codeop import CommandCompiler, compile_command
__all__ = ["InteractiveInterpreter", "InteractiveConsole", "interact",
@@ -303,6 +302,8 @@ def interact(banner=None, readfunc=None, local=None, exitmsg=None):
if __name__ == "__main__":
+ import argparse
+
parser = argparse.ArgumentParser()
parser.add_argument('-q', action='store_true',
help="don't print version and copyright messages")
diff --git a/Lib/doctest.py b/Lib/doctest.py
index 0b78544..5e5bc21 100644
--- a/Lib/doctest.py
+++ b/Lib/doctest.py
@@ -93,7 +93,6 @@ __all__ = [
]
import __future__
-import argparse
import difflib
import inspect
import linecache
@@ -2741,6 +2740,8 @@ __test__ = {"_TestClass": _TestClass,
def _test():
+ import argparse
+
parser = argparse.ArgumentParser(description="doctest runner")
parser.add_argument('-v', '--verbose', action='store_true', default=False,
help='print very verbose output for all tests')
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 429490b..7b3e701 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -87,7 +87,6 @@ __all__ = [
"SimpleHTTPRequestHandler", "CGIHTTPRequestHandler",
]
-import argparse
import copy
import datetime
import email.utils
@@ -1227,6 +1226,8 @@ def test(HandlerClass=BaseHTTPRequestHandler,
sys.exit(0)
if __name__ == '__main__':
+ import argparse
+
parser = argparse.ArgumentParser()
parser.add_argument('--cgi', action='store_true',
help='Run as CGI Server')
diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py
index 8ddc189..5b0e5b2 100755
--- a/Lib/idlelib/pyshell.py
+++ b/Lib/idlelib/pyshell.py
@@ -18,11 +18,10 @@ if TkVersion < 8.5:
raise SystemExit(1)
from code import InteractiveInterpreter
-import getopt
import linecache
import os
import os.path
-from platform import python_version, system
+from platform import python_version
import re
import socket
import subprocess
@@ -31,14 +30,12 @@ import time
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
@@ -1371,6 +1368,11 @@ echo "import sys; print(sys.argv)" | idle - "foobar"
"""
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)
diff --git a/Lib/profile.py b/Lib/profile.py
index 5d0e968..5ceeddc 100755
--- a/Lib/profile.py
+++ b/Lib/profile.py
@@ -25,10 +25,8 @@
import sys
-import os
import time
import marshal
-from optparse import OptionParser
__all__ = ["run", "runctx", "Profile"]
@@ -179,7 +177,7 @@ class Profile:
self.t = self.get_time()
self.simulate_call('profiler')
- # Heavily optimized dispatch routine for os.times() timer
+ # Heavily optimized dispatch routine for time.process_time() timer
def trace_dispatch(self, frame, event, arg):
timer = self.timer
@@ -552,6 +550,9 @@ class Profile:
#****************************************************************************
def main():
+ import os
+ from optparse import OptionParser
+
usage = "profile.py [-o output_file_path] [-s sort] scriptfile [arg] ..."
parser = OptionParser(usage=usage)
parser.allow_interspersed_args = False
diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py
index bfb670c..7973f26 100755
--- a/Lib/tabnanny.py
+++ b/Lib/tabnanny.py
@@ -22,7 +22,6 @@ __version__ = "6"
import os
import sys
-import getopt
import tokenize
if not hasattr(tokenize, 'NL'):
raise ValueError("tokenize.NL doesn't exist -- tokenize module too old")
@@ -40,6 +39,8 @@ def errprint(*args):
sys.stderr.write("\n")
def main():
+ import getopt
+
global verbose, filename_only
try:
opts, args = getopt.getopt(sys.argv[1:], "qv")
diff --git a/Lib/trace.py b/Lib/trace.py
index ae15461..e443edd 100755
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -48,7 +48,7 @@ Sample use, programmatically
r.write_results(show_missing=True, coverdir="/tmp")
"""
__all__ = ['Trace', 'CoverageResults']
-import argparse
+
import linecache
import os
import re
@@ -609,6 +609,7 @@ class Trace:
callers=self._callers)
def main():
+ import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--version', action='version', version='trace 2.0')