@error_handler<EOL>def main(*args):
<EOL>with disable_error_handler():<EOL><INDENT>args = parse_args(args or sys.argv[<NUM_LIT:1>:])<EOL><DEDENT>config = read_config(args.config, args)<EOL>if config is None:<EOL><INDENT>return True<EOL><DEDENT>bootstrap = config[__script__]<EOL>if not check_pre_requirements(bootstrap['<STR_LIT>']):<EOL><INDENT>return True<EOL><DEDENT>env_args = prepare_args(config['<STR_LIT>'], bootstrap)<EOL>if not create_env(<EOL>bootstrap['<STR_LIT>'],<EOL>env_args,<EOL>bootstrap['<STR_LIT>'],<EOL>bootstrap['<STR_LIT>'],<EOL>bootstrap['<STR_LIT>']<EOL>):<EOL><INDENT>return True<EOL><DEDENT>pip_args = prepare_args(config['<STR_LIT>'], bootstrap)<EOL>if not install(<EOL>bootstrap['<STR_LIT>'],<EOL>bootstrap['<STR_LIT>'],<EOL>pip_args,<EOL>bootstrap['<STR_LIT>'],<EOL>bootstrap['<STR_LIT>'],<EOL>bootstrap['<STR_LIT>']<EOL>):<EOL><INDENT>return True<EOL><DEDENT>run_hook(bootstrap['<STR_LIT>'], bootstrap, bootstrap['<STR_LIT>'])<EOL>if not bootstrap['<STR_LIT>']:<EOL><INDENT>print_message('<STR_LIT>')<EOL><DEDENT>return False<EOL>
r"""Bootstrap Python projects and libraries with virtualenv and pip.

    Also check system requirements before bootstrap and run post bootstrap
    hook if any.

    :param \*args: Command line arguments list.