annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/site-packages/setuptools/launch.py @ 68:5028fdace37b

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 16:23:26 -0400
parents
children
rev   line source
jpayne@68 1 """
jpayne@68 2 Launch the Python script on the command line after
jpayne@68 3 setuptools is bootstrapped via import.
jpayne@68 4 """
jpayne@68 5
jpayne@68 6 # Note that setuptools gets imported implicitly by the
jpayne@68 7 # invocation of this script using python -m setuptools.launch
jpayne@68 8
jpayne@68 9 import sys
jpayne@68 10 import tokenize
jpayne@68 11
jpayne@68 12
jpayne@68 13 def run():
jpayne@68 14 """
jpayne@68 15 Run the script in sys.argv[1] as if it had
jpayne@68 16 been invoked naturally.
jpayne@68 17 """
jpayne@68 18 __builtins__
jpayne@68 19 script_name = sys.argv[1]
jpayne@68 20 namespace = dict(
jpayne@68 21 __file__=script_name,
jpayne@68 22 __name__='__main__',
jpayne@68 23 __doc__=None,
jpayne@68 24 )
jpayne@68 25 sys.argv[:] = sys.argv[1:]
jpayne@68 26
jpayne@68 27 open_ = getattr(tokenize, 'open', open)
jpayne@68 28 with open_(script_name) as fid:
jpayne@68 29 script = fid.read()
jpayne@68 30 norm_script = script.replace('\\r\\n', '\\n')
jpayne@68 31 code = compile(norm_script, script_name, 'exec')
jpayne@68 32 exec(code, namespace)
jpayne@68 33
jpayne@68 34
jpayne@68 35 if __name__ == '__main__':
jpayne@68 36 run()