def METHOD_NAME():
    # type: () -> str
    import pip
    pip_major_version = int(pip.__version__.split('.')[0])
    pip_minor_version = int(pip.__version__.split('.')[1])
    pip_major_minor = (pip_major_version, pip_minor_version)
    # Pip moved its internals to an _internal module in version 10.
    # In order to be compatible with version 9 which has it at at the
    # top level we need to figure out the correct import path here.
    if (9, 0) <= pip_major_minor < (10, 0):
        return 'from pip import main'
    elif (10, 0) <= pip_major_minor < (19, 3):
        # Pip changed their import structure again in 19.3
        # https://github.com/pypa/pip/commit/09fd200
        return 'from pip._internal import main'
    elif (19, 3) <= pip_major_minor < (20, 0):
        return 'from pip._internal.main import main'
    elif pip_major_minor >= (20, 0):
        # More changes! https://github.com/pypa/pip/issues/7498
        # We'll assume that anything >= v20.0 will use this import
        # string.  We're already specifying our supported versions of
        # pip as a dependency so assuming this stays the same, pip
        # upgrades will just require bumping our dependency range in
        # setup.py.
        return 'from pip._internal.cli.main import main'
    raise RuntimeError("Unknown import string for pip version: %s"
                       % str(pip_major_minor))