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.
Solutions
- Install the evaluation extras: `pip install spleeter[evaluation]`
- Or install the packages directly: `pip install musdb museval`
- 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
- Install extras: pip install spleeter[evaluation]
- Declare musdb/museval in requirements for evaluation environments
- Smoke-test `import musdb, museval` in CI before running evaluate
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.
Appendix: 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)