TensorFlow dependency error on Streamlit Cloud (Python 3.13.5)

  1. Share the link to the public app (deployed on Community Cloud):
    https://brendonroy-tower-analyzer-gps-viewer-msfjl6.streamlit.app/

  2. Share the link to your app’s public GitHub repository (including a [requirements file]
    GitHub - brendonroy/tower-analyzer

Requirements.txt file contains:
streamlit==1.35.0
tensorflow==2.15.1
Pillow
google-api-python-client
google-auth
google-auth-httplib2
google-auth-oauthlib
requests

  1. Share the full text of the error message (not a screenshot).
    Error Message:
[     UTC     ] Logs for brendonroy-tower-analyzer-gps-viewer-msfjl6.streamlit.app/
────────────────────────────────────────────────────────────────────────────────────────
[15:43:41] 🚀 Starting up repository: 'tower-analyzer', branch: 'main', main module: 'gps_viewer.py'
[15:43:41] 🐙 Cloning repository...
[15:43:42] 🐙 Cloning into '/mount/src/tower-analyzer'...
[15:43:42] 🐙 Cloned repository!
[15:43:42] 🐙 Pulling code changes from Github...
[15:43:42] 📦 Processing dependencies...

──────────────────────────────────────── uv ───────────────────────────────────────────

Using uv pip install.
Using Python 3.13.5 environment at /home/adminuser/venv
  × No solution found when resolving dependencies:
  ╰─▶ Because tensorflow==2.15.1 has no wheels with a matching Python ABI
      tag and you require tensorflow==2.15.1, we can conclude that your
      requirements are unsatisfiable.
Checking if Streamlit is installed
Installing rich for an improved exception logging
Using uv pip install.
Using Python 3.13.5 environment at /home/adminuser/venv
Resolved 4 packages in 92ms
Prepared 4 packages in 110ms
Installed 4 packages in 13ms
 + markdown-it-py==3.0.0
 + mdurl==0.1.2
 + pygments==2.19.2
 + rich==14.0.0

────────────────────────────────────────────────────────────────────────────────────────


──────────────────────────────────────── pip ───────────────────────────────────────────

Using standard pip install.
Collecting streamlit==1.35.0 (from -r /mount/src/tower-analyzer/requirements.txt (line 1))
  Downloading streamlit-1.35.0-py2.py3-none-any.whl.metadata (8.5 kB)
ERROR: Ignored the following versions that require a different python version: 0.55.2 Requires-Python <3.5
ERROR: Could not find a version that satisfies the requirement tensorflow==2.15.1 (from versions: none)
ERROR: No matching distribution found for tensorflow==2.15.1

[notice] A new release of pip is available: 24.0 -> 25.1.1
[notice] To update, run: pip install --upgrade pip
Checking if Streamlit is installed
Installing rich for an improved exception logging
Using standard pip install.
Collecting rich>=10.14.0
  Downloading rich-14.0.0-py3-none-any.whl.metadata (18 kB)
Collecting markdown-it-py>=2.2.0 (from rich>=10.14.0)
  Downloading markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Collecting pygments<3.0.0,>=2.13.0 (from rich>=10.14.0)
  Downloading pygments-2.19.2-py3-none-any.whl.metadata (2.5 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=10.14.0)
  Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Downloading rich-14.0.0-py3-none-any.whl (243 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 243.2/243.2 kB 17.1 MB/s eta 0:00:00[2025-07-03 15:43:47.036813] 
Downloading markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5/87.5 kB 135.8 MB/s eta 0:00:00[2025-07-03 15:43:47.049633] 
Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 91.4 MB/s eta 0:00:00[2025-07-03 15:43:47.075371] 
Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Installing collected packages: pygments, mdurl, markdown-it-py, rich
  Attempting uninstall: pygments
    Found existing installation: Pygments 2.19.2
    Uninstalling Pygments-2.19.2:
      Successfully uninstalled Pygments-2.19.2
  Attempting uninstall: mdurl
    Found existing installation: mdurl 0.1.2
    Uninstalling mdurl-0.1.2:
      Successfully uninstalled mdurl-0.1.2
  Attempting uninstall: markdown-it-py
    Found existing installation: markdown-it-py 3.0.0
    Uninstalling markdown-it-py-3.0.0:
      Successfully uninstalled markdown-it-py-3.0.0
  Attempting uninstall: rich
    Found existing installation: rich 14.0.0
    Uninstalling rich-14.0.0:
      Successfully uninstalled rich-14.0.0
Successfully installed markdown-it-py-3.0.0 mdurl-0.1.2 pygments-2.19.2 rich-14.0.0

[notice] A new release of pip is available: 24.0 -> 25.1.1
[notice] To update, run: pip install --upgrade pip

────────────────────────────────────────────────────────────────────────────────────────

[15:43:50] ❗️ installer returned a non-zero exit code
[15:43:50] ❗️ Error during processing dependencies! Please fix the error and push an update, or try restarting the app.
  1. Share the Streamlit and Python versions.
    Streamlit version: 1.46.1
    Python version: 3.13

Any advice on how I can get this to deploy successfully with TensorFlow? I’m open to downgrading TensorFlow or adjusting my setup if needed. Thanks in advance!