<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def prerequisite_check():
 """ Check prerequisites of the framework, including Python version, installation of modules, etc. Returns: Optional[str]: If the check is not passed, return error message regarding failed test case. None is returned otherwise. """


    # Check Python version
    if sys.version_info < (3, 6):
        version_str = "%s.%s.%s" % sys.version_info[:3]
        # TRANSLATORS: This word is used as a part of search query suggested to users,
        # it may appears in context like "Ubuntu 16.04 install Python 3.7"
        search_url = build_search_query(_("install") + " Python 3.7")
        return _("EH Forwarder Bot requires a minimum of Python 3.6 to run.  You "
                 "are currently using Python {version}. \n"
                 "\n"
                 "You may want to try:\n"
                 "{url}").format(version=version_str, url=search_url)

    # Check installations of modules
    modules_err = _("You may want to visit the modules repository to find a list of "
                    "available modules to install.\n"
                    "https://github.com/blueset/ehForwarderBot/wiki/Channels-Repository")
    # 1. At least 1 master channel must be installed
    try:
        next(pkg_resources.iter_entry_points("ehforwarderbot.master"))
    except StopIteration:
        return _("No master channel detected.  EH Forwarder Bot requires at least one "
                 "master channel installed to run.") + "\n\n" + modules_err

    # 2. At least 1 slave channel must be installed
    try:
        next(pkg_resources.iter_entry_points("ehforwarderbot.slave"))
    except StopIteration:
        return _("No slave channel detected.  EH Forwarder Bot requires at least one "
                 "slave channel installed to run.") + "\n\n" + modules_err