From 27d7ebf2be2b182d9e904c9e203bb9682b3cff43 Mon Sep 17 00:00:00 2001 From: Elissa Sutlief Date: Mon, 16 Feb 2026 22:08:31 -0500 Subject: [PATCH 1/2] Fix container pip install for both Docker and Singularity Pass the pip command as a list instead of a string in install_package_in_container() for github installation mode. The previous fix (PR #4380) used a quoted string format which works on Docker (shlex.split strips quotes) but fails on Singularity (str.split keeps quotes attached). Passing a list bypasses both splitting mechanisms, keeping the PEP 508 Direct URL requirement as a single argument on both backends. Fixes #4368 --- src/spikeinterface/sorters/container_tools.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/spikeinterface/sorters/container_tools.py b/src/spikeinterface/sorters/container_tools.py index 3169b8ab5b..735116feae 100644 --- a/src/spikeinterface/sorters/container_tools.py +++ b/src/spikeinterface/sorters/container_tools.py @@ -238,7 +238,8 @@ def install_package_in_container( pkg = package_name if extra is not None: pkg += extra - cmd = f'pip install --user --upgrade --no-input "{pkg} @ {github_url}/archive/{tag_or_version}.tar.gz"' + cmd = ["pip", "install", "--user", "--upgrade", "--no-input", + f"{pkg} @ {github_url}/archive/{tag_or_version}.tar.gz"] res_output = container_client.run_command(cmd) elif installation_mode == "folder": From bdfbd27c10fbf0fd819b3bee0b58db2566749e0a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 12 Mar 2026 19:08:57 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/spikeinterface/sorters/container_tools.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/spikeinterface/sorters/container_tools.py b/src/spikeinterface/sorters/container_tools.py index 735116feae..b08cd8d60e 100644 --- a/src/spikeinterface/sorters/container_tools.py +++ b/src/spikeinterface/sorters/container_tools.py @@ -238,8 +238,14 @@ def install_package_in_container( pkg = package_name if extra is not None: pkg += extra - cmd = ["pip", "install", "--user", "--upgrade", "--no-input", - f"{pkg} @ {github_url}/archive/{tag_or_version}.tar.gz"] + cmd = [ + "pip", + "install", + "--user", + "--upgrade", + "--no-input", + f"{pkg} @ {github_url}/archive/{tag_or_version}.tar.gz", + ] res_output = container_client.run_command(cmd) elif installation_mode == "folder":