def create_installer_7zip(self, installer_type: str = "exe", compression= "mx5"):
        """Creates a WinPython installer using 7-Zip: "exe", "7z", "zip")"""
        self._print_action(f"Creating WinPython installer ({installer_type})")
        if installer_type not in ["exe", "7z", "zip"]:
            return
        DISTDIR = self.winpython_directory
        filename_stem = f"Winpython{self.architecture_bits}-{self.python_full_version}.{self.build_number}{self.flavor}{self.release_level}"
        fullfilename = DISTDIR.parent / (filename_stem + "." + installer_type)
        sfx_option = "-sfx7z.sfx" if installer_type == "exe" else ""
        zip_option = "-tzip" if installer_type == "zip" else ""
        compress_level = "mx5" if compression == "" else compression 
        command = f'"{find_7zip_executable()}" {zip_option} -{compress_level} a "{fullfilename}" "{DISTDIR}" {sfx_option}'
        print(f'Executing 7-Zip script: "{command}"')
        try:
            subprocess.run(command, shell=True, check=True, stderr=sys.stderr, stdout=sys.stderr)
        except subprocess.CalledProcessError as e:
            print(f"Error executing 7-Zip script: {e}", file=sys.stderr)
Creates a WinPython installer using 7-Zip: "exe", "7z", "zip")
make.py