deezer/spleeter · error · Exit

10

10

Error message

Extra dependencies musdb and museval not found

What it means

`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.

Source

Thrown at spleeter/__main__.py:226

    output_path: str = AudioOutputOption,
    params_filename: str = ModelParametersOption,
    mus_dir: str = MUSDBDirectoryOption,
    mwf: bool = MWFOption,
    verbose: bool = VerboseOption,
) -> Dict:
    """
    Evaluate a model on the musDB test dataset
    """
    import numpy as np

    configure_logger(verbose)
    try:
        import musdb  # type: ignore
        import museval  # type: ignore
    except ImportError:
        logger.error("Extra dependencies musdb and museval not found")
        logger.error("Please install musdb and museval first, abort")
        raise Exit(10)
    # Separate musdb sources.
    songs = glob(join(mus_dir, EVALUATION_SPLIT, "*/"))
    mixtures = [join(song, EVALUATION_MIXTURE) for song in songs]
    audio_output_directory = join(output_path, EVALUATION_AUDIO_DIRECTORY)
    separate(
        deprecated_files=None,
        files=mixtures,
        adapter=adapter,
        bitrate="128k",
        codec=Codec.WAV,
        duration=600.0,
        offset=0,
        output_path=join(audio_output_directory, EVALUATION_SPLIT),
        filename_format="{foldername}/{instrument}.{codec}",
        params_filename=params_filename,
        mwf=mwf,
        verbose=verbose,
    )

View on GitHub (pinned to c8854001ac)

Solutions

  1. Install the evaluation extras: `pip install spleeter[evaluation]`
  2. Or install the packages directly: `pip install musdb museval`
  3. Re-run `spleeter evaluate` after installation

Example fix

# before
pip install spleeter
# after
pip install "spleeter[evaluation]"
Defensive patterns

Strategy: validation

Validate before calling

try:
    import musdb, museval
except ImportError:
    raise SystemExit('Run: pip install "spleeter[evaluation]" before evaluating')

Try / catch

import subprocess
r = subprocess.run(['spleeter', 'evaluate', ...], capture_output=True)
if r.returncode == 10 and 'musdb and museval not found' in r.stderr.decode():
    subprocess.run(['pip', 'install', 'spleeter[evaluation]'])

Prevention

When it happens

Trigger: Running `spleeter evaluate` (which calls `evaluate()`) in an environment where `import musdb` or `import museval` raises ImportError.

Common situations: Installing spleeter via `pip install spleeter` (base extras only) and then trying to evaluate a model against MUSDB18 without installing the evaluation extras.

Understand the failure class

Background: "X is not installed. Please install it with pip install Y": missing optional dependency errors — ImportError/ValueError raised when a library's optional extra was never installed — this error's family across 22 libraries.

Related errors


AI-assisted analysis of deezer/spleeter@c8854001ac (2026-08-28). Data as JSON: /api/errors/1bac58a9e73a7795. Report an issue: GitHub.