def METHOD_NAME(
    imported_packages: set[str], pipfile_packages: set[str]
) -> dict[str, str] | NoReturn:
    """
    プロジェクト内のPythonファイルでimportされているがPipfile内には存在しないパッケージ一覧を取得する
    :param imported_packages: プロジェクト内のPythonファイルからimportされているパッケージ一覧
    :param pipfile_packages: Pipfile内のパッケージ一覧
    :return: プロジェクト内のPythonファイルでimportされているがPipfile内には存在しないパッケージ一覧。Pipfile内でのパッケージ名がkey、バージョンがvalueになっている。
    """
    # import時のパッケージ名とPipfile内でのパッケージ名の対応表
    distributions = importlib_metadata.packages_distributions()
    missing_packages: dict[str, str] = dict()
    for imported_package in imported_packages:
        if imported_package not in distributions:
            raise ModuleNotFoundError(
                f"Package {imported_package} is not found. It maybe not installed."
            )
        packages = distributions[imported_package]
        if len(packages) == 0:
            raise ModuleNotFoundError(
                f"Package {imported_package} is not found. It maybe not installed."
            )
        if not exist_package_in_pipfile(packages, pipfile_packages):
            package_name: str = packages[0]
            missing_packages[package_name] = get_package_version(package_name)
    return missing_packages