PermissionError hot-dog space example

I get the following error by executing the hot-dog space example from https://huggingface.co/docs/hub/en/spaces-sdks-streamlit:

OSError: PermissionError at /.cache when downloading julien-c/hotdog-not-hotdog. Check cache directory permissions. Common causes: 1) another user is downloading the same model (please wait); 2) a previous download was canceled and the lock file needs manual removal.
Traceback:

File "/app/src/streamlit_app.py", line 5, in <module>
    pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")
File "/usr/local/lib/python3.9/site-packages/transformers/pipelines/__init__.py", line 892, in pipeline
    resolved_config_file = cached_file(
File "/usr/local/lib/python3.9/site-packages/transformers/utils/hub.py", line 312, in cached_file
    file = cached_files(path_or_repo_id=path_or_repo_id, filenames=[filename], **kwargs)
File "/usr/local/lib/python3.9/site-packages/transformers/utils/hub.py", line 515, in cached_files
    raise OSError(
1 Like

Hmm…? Seems it works.

How do you do it without docker?
My hot-dog space is built upon docker: Hot Dog Test - a Hugging Face Space by Bachstelze

1 Like

How do you do it without docker?

In my case, I simply copied an existing Streamlit space and modified it. For Docker spaces, it seems that user permission settings are required.

FROM python:3.9-slim

WORKDIR /app

RUN apt-get update && apt-get install -y \
    build-essential \
    curl \
    software-properties-common \
    git \
    && rm -rf /var/lib/apt/lists/*

COPY requirements.txt ./
COPY src/ ./src/

RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user\
	PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/app
RUN pip install --no-cache-dir --upgrade pip
COPY --chown=user . $HOME/app

RUN pip3 install -r requirements.txt

EXPOSE 8501

HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health

ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]