You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			820 B
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			37 lines
		
	
	
		
			820 B
		
	
	
	
		
			Python
		
	
"""
 | 
						|
Launch the Python script on the command line after
 | 
						|
setuptools is bootstrapped via import.
 | 
						|
"""
 | 
						|
 | 
						|
# Note that setuptools gets imported implicitly by the
 | 
						|
# invocation of this script using python -m setuptools.launch
 | 
						|
 | 
						|
import sys
 | 
						|
import tokenize
 | 
						|
 | 
						|
 | 
						|
def run() -> None:
 | 
						|
    """
 | 
						|
    Run the script in sys.argv[1] as if it had
 | 
						|
    been invoked naturally.
 | 
						|
    """
 | 
						|
    __builtins__
 | 
						|
    script_name = sys.argv[1]
 | 
						|
    namespace = dict(
 | 
						|
        __file__=script_name,
 | 
						|
        __name__='__main__',
 | 
						|
        __doc__=None,
 | 
						|
    )
 | 
						|
    sys.argv[:] = sys.argv[1:]
 | 
						|
 | 
						|
    open_ = getattr(tokenize, 'open', open)
 | 
						|
    with open_(script_name) as fid:
 | 
						|
        script = fid.read()
 | 
						|
    norm_script = script.replace('\\r\\n', '\\n')
 | 
						|
    code = compile(norm_script, script_name, 'exec')
 | 
						|
    exec(code, namespace)
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    run()
 |