runtime.txt Ignored: Streamlit Cloud Always Uses Python 3.13, Causing blis/spaCy Build Failures

Hi Streamlit team,

I’m experiencing a persistent deployment issue on Streamlit Cloud. My app requires spaCy 3.7.x and its German model, which do not support Python 3.13. I have followed all best practices, but the build always uses Python 3.13, causing blis to fail to build from source.

What I’ve done:

*My requirements.txt (no blis, correct spaCy/model link):

streamlit

pandas

spacy==3.7.2

termcolor

https://github.com/explosion/spacy-models/releases/download/de_core_news_sm-3.7.0/de_core_news_sm-3.7.0-py3-none-any.whl
  • My runtime.txt (in repo root, no typos):

python-3.10

(I have also tried python-3.9 and python-3.11.)

  • Deleted and re-created the app multiple times.
  • All files are in the root of my repo.

But every build log shows:

Using Python 3.13.5 environment at /home/adminuser/venv

/usr/local/include/python3.13/longobject.h

murmurhash-1.0.13-cp313-cp313-manylinux_2_5_x86_64…

Building wheel for blis (pyproject.toml): finished with status ‘error’

This means:

  • runtime.txt is being ignored.
  • The build always uses Python 3.13, which is not compatible with spaCy 3.x or blis.
  • The deployment fails every time.

What I need:

  • Streamlit Cloud to respect runtime.txt and use Python 3.10 or 3.11 as specified.
  • Or, advice on a workaround if one exists.

Repo:

Thank you for your help!

See related:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.