{"record":{"id":"1bac58a9e73a7795","repo":"deezer/spleeter","slug":"10","errorCode":"10","errorMessage":"Extra dependencies musdb and museval not found","messagePattern":"Extra dependencies musdb and museval not found","errorType":"console","errorClass":"Exit","httpStatus":null,"severity":"error","filePath":"spleeter/__main__.py","lineNumber":226,"sourceCode":"    output_path: str = AudioOutputOption,\n    params_filename: str = ModelParametersOption,\n    mus_dir: str = MUSDBDirectoryOption,\n    mwf: bool = MWFOption,\n    verbose: bool = VerboseOption,\n) -> Dict:\n    \"\"\"\n    Evaluate a model on the musDB test dataset\n    \"\"\"\n    import numpy as np\n\n    configure_logger(verbose)\n    try:\n        import musdb  # type: ignore\n        import museval  # type: ignore\n    except ImportError:\n        logger.error(\"Extra dependencies musdb and museval not found\")\n        logger.error(\"Please install musdb and museval first, abort\")\n        raise Exit(10)\n    # Separate musdb sources.\n    songs = glob(join(mus_dir, EVALUATION_SPLIT, \"*/\"))\n    mixtures = [join(song, EVALUATION_MIXTURE) for song in songs]\n    audio_output_directory = join(output_path, EVALUATION_AUDIO_DIRECTORY)\n    separate(\n        deprecated_files=None,\n        files=mixtures,\n        adapter=adapter,\n        bitrate=\"128k\",\n        codec=Codec.WAV,\n        duration=600.0,\n        offset=0,\n        output_path=join(audio_output_directory, EVALUATION_SPLIT),\n        filename_format=\"{foldername}/{instrument}.{codec}\",\n        params_filename=params_filename,\n        mwf=mwf,\n        verbose=verbose,\n    )","sourceCodeStart":208,"sourceCodeEnd":244,"githubUrl":"https://github.com/deezer/spleeter/blob/c8854001ac8acad34a9bc2bd15f28475541828b1/spleeter/__main__.py#L208-L244","documentation":"`spleeter evaluate` needs the optional `musdb` and `museval` packages, which are not installed with the base spleeter package. Before evaluating, the CLI imports both and, on ImportError, logs the missing dependencies and aborts with exit code 10.","triggerScenarios":"Running `spleeter evaluate` (which calls `evaluate()`) in an environment where `import musdb` or `import museval` raises ImportError.","commonSituations":"Installing spleeter via `pip install spleeter` (base extras only) and then trying to evaluate a model against MUSDB18 without installing the evaluation extras.","solutions":["Install the evaluation extras: `pip install spleeter[evaluation]`","Or install the packages directly: `pip install musdb museval`","Re-run `spleeter evaluate` after installation"],"exampleFix":"# before\npip install spleeter\n# after\npip install \"spleeter[evaluation]\"","handlingStrategy":"validation","validationCode":"try:\n    import musdb, museval\nexcept ImportError:\n    raise SystemExit('Run: pip install \"spleeter[evaluation]\" before evaluating')","typeGuard":null,"tryCatchPattern":"import subprocess\nr = subprocess.run(['spleeter', 'evaluate', ...], capture_output=True)\nif r.returncode == 10 and 'musdb and museval not found' in r.stderr.decode():\n    subprocess.run(['pip', 'install', 'spleeter[evaluation]'])","preventionTips":["Install extras: pip install spleeter[evaluation]","Declare musdb/museval in requirements for evaluation environments","Smoke-test `import musdb, museval` in CI before running evaluate"],"tags":["dependencies","missing-package","pip","cli"],"backgroundTag":"missing-optional-dependency","analyzedSha":"c8854001ac8acad34a9bc2bd15f28475541828b1","analyzedAt":"2026-08-28T21:38:40.142Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}