SpikeInterface / SpikeInterface/spikeinterface

Kilosort docker image cant install spikeinterface

Open
#3,502 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

container
Dominant language
Python
Stars
847
Forks
280
Avg merge
3d 9h
Merged PRs (30d)
29

Description

Hi all,
i have troubles to run sorting in docker containers for Kilosort 3 but also Kilosort 2.5
If i just run the sorter with docker_image=True

installation_mode='auto' switching to installation_mode: 'github'
Starting container
Installing spikeinterface with github in container
Installing neo with pypi in container
Running kilosort3 sorter inside spikeinterface/kilosort3-compiled-base
Stopping container
[2024-10-23 13:07:00,075][ERROR]: Spike sorting in docker failed with the following error:
Traceback (most recent call last):
  File "path_removed/in_container_sorter_script.py", line 4, in <module>
    from spikeinterface import load_extractor
ModuleNotFoundError: No module named 'spikeinterface'

switching mode to pypi doesnt solve this issue.

I tried to build modified docker image with:

FROM spikeinterface/kilosort3-compiled-base:latest
RUN pip install --user "spikeinterface[full] @ git+https://github.com/SpikeInterface/spikeinterface.git"

yet here I get the error the newest spikeinterface is not compatible with python version in container.

ERROR: Package 'spikeinterface-0.102.0' requires a different Python: 3.8.1 not in '<4.0,>=3.9'

switching to installation from pypi solved the docker build, and if i point docker_image to this build it runs.

Overall, it seems the installation_mode using github is not compatible anymore with python versions in docker containers.
However, why switching installation_mode to pypi didn't help im not sure...

Best,
Artur

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with docker_image=True in the Kilosort 3 base image and inspect the generated in_container_sorter_script.py around installation_mode handling. Compare the github and pypi installation paths under the container's Python 3.8.1 environment; done means SpikeInterface is importable and sorting runs with the supported installation mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, python
Domain
devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.