Hi there,
I only recently joined the community and try to run an app on the community cloud to show some functionality of a python package.
Of course, I built it locally (using python CPython 3.13.5, streamlit 1.47.0) and it runs without problems. However, if I boot the community cloud instance, it raises a ModuleNotFoundError for geopandas - which should have been installed according to the log.
I’ve been searching similar issues in the forum, but those that I could find missed the dependency in question or there were issues with the installed version of the dependency. This is not the case here, or it doesn’t seem to me that it is. Also, I searched for information about the community cloud and whether there is a virtual machine image that I could use for debugging, but I couldn’t find any.
Below, I post the log, stating among others that geopandas==1.1.1 is installed and that exactly this module could not be found. I did try to use a different version (geopandas >=1.0.1 should work) and I tried removing uv.lock to default to conda. The latter doesn’t seem to finish solving the dependencies but I confirm that locally it is successful.
[12:55:31] 🔌 Disconnecting...
[12:55:32] 🔄 Updated app!
[12:55:33] ❗️
[12:55:33] 🖥 Provisioning machine...
[12:55:33] 🎛 Preparing system...
[12:55:33] ⛓ Spinning up manager process...
[12:56:02] 🔌 Disconnecting...
[12:56:07] 🖥 Provisioning machine...
[12:56:07] 🚀 Starting up repository: 'cryoswath', branch: 'st_l1_app', main module: 'st_l1_app.py'
[12:56:07] 🐙 Cloning repository...
[12:56:11] 🎛 Preparing system...
[12:56:11] ⛓ Spinning up manager process...
[12:56:15] 🐙 Cloning into '/mount/src/cryoswath'...
[12:56:15] 🐙 Cloned repository!
[12:56:15] 🐙 Pulling code changes from Github...
[12:56:16] 📦 Processing dependencies...
Prepared [2025-07-24 12:56:24.635460] 88 packages in 8.01s
Installed 88 packages in 288ms
+ affine==2.4.0
+ altair==5.5.0
+ attrs==25.3.0
+ blinker==1.9.0
+ blosc2==3.6.1
+ bottleneck==1.5.0
+ cachetools==6.1.0
+ certifi==2025.7.14
+ charset-normalizer==3.4.2
+ click==8.2.1
+ click-plugins==1.1.1.2
+ cligj==0.7.2
+ cloudpickle==3.1.1
+ contourpy==1.3.2
+ crc32c==2.7.1
+ cryoswath==0.2.3.post1 (from file:///mount/src/cryoswath)
+ cycler==0.12.1
+ dask==2025.7.0
+ defusedxml==0.7.1
+ donfig==0.8.1.post1
+ fonttools==4.59.0
+ fsspec==2025.7.0
+ geopandas==1.1.1
[2025-07-24 12:56:24.917152] + gitdb==4.0.12
+ gitpython==3.1.45
+ h5netcdf==1.6.3
+ h5py==3.14.0
+ idna==3.10
+ jinja2==3.1.6
+ joblib==1.5.1
+ jsonschema==4.25.0
+ [2025-07-24 12:56:24.917444] jsonschema-specifications==2025.4.1
+ kiwisolver==1.4.8
+ locket==1.0.0
+ markupsafe==3.0.2
+ matplotlib==3.10.3
+ mpld3==0.5.10
+ msgpack==1.1.1[2025-07-24 12:56:24.917663]
+ narwhals==1.48.0
+ ndindex==1.10.0
+ numcodecs==0.16.1
+ numexpr==2.11.0
+ numpy==2.3.1
+ packaging==[2025-07-24 12:56:24.917977] 25.0
+ pandas==2.3.1
+ partd==1.4.2
+ patsy==1.0.1
+ pillow==11.3.0
+ platformdirs==[2025-07-24 12:56:24.918190] 4.3.8
+ protobuf==6.31.1
+ py-cpuinfo==9.0.0
+ pyarrow==21.0.0
+ pydeck==0.9.1
+ pyogrio==[2025-07-24 12:56:24.918461] 0.11.0
+ pyparsing==3.2.3
+ pyproj==3.7.1
+ pystac==1.13.0
+ pystac-client==0.9.0
+ python-dateutil==2.9.0[2025-07-24 12:56:24.918830] .post0
+ pytz==2025.2
+ pyyaml==6.0.2
+ rasterio==1.4.3
+ referencing==0.36.2
+ [2025-07-24 12:56:24.919186] requests==2.32.4
+ rioxarray==0.19.0
+ rpds-py==0.26.0
+ scikit-learn==1.7.1
+ scipy==1.16.0
+ shapely==2.1.1
+ six==1.17.0[2025-07-24 12:56:24.919430]
+ smmap==5.0.2
+ stackstac==0.5.1
+ [2025-07-24 12:56:24.919758] statsmodels==0.14.5[2025-07-24 12:56:24.920022]
+ streamlit==1.47.0
+ tables==3.10.2
+ tenacity==9.1.2
+ threadpoolctl==3.6.0
+ toml==0.10.2
+ toolz==1.0.0
+[2025-07-24 12:56:24.920231] tornado==6.5.1
+ tqdm==4.67.1
+ typing-extensions==4.14.1
+ tzdata==2025.2
+ urllib3==2.5.0
+ watchdog==6.0.0
+ xarray==[2025-07-24 12:56:24.920442] 2025.7.1
+ xpystac==0.2.0
+ zarr==3.1.0
[12:56:25] 🐍 Python dependencies were installed from /mount/src/cryoswath/uv.lock using uv-sync.
[12:56:25] 📦 WARN: More than one requirements file detected in the repository. Available options: uv-sync /mount/src/cryoswath/uv.lock, conda /mount/src/cryoswath/environment.yml, poetry /mount/src/cryoswath/pyproject.toml. Used: uv-sync with /mount/src/cryoswath/uv.lock
Check if streamlit is installed
──────────────────────────────── Installing Streamlit ──────────────────────────────────
Using uv pip install.
Using Python 3.13.5 environment at /home/adminuser/.conda
Resolved 37 packages in 438ms
Installed [2025-07-24 12:56:28.404006] 30 packages[2025-07-24 12:56:28.404290] [2025-07-24 12:56:28.404574] in 120ms[2025-07-24 12:56:28.404880]
[2025-07-24 12:56:28.406405] +[2025-07-24 12:56:28.407682] altair==5.5.0
+ attrs==25.3.0
+ blinker==1.9.0
+ cachetools==6.1.0
+ click==8.2.1
+ gitdb==4.0.12
+ gitpython==3.1.45
+ jinja2==3.1.6
+ jsonschema==4.25.0
+ jsonschema-specifications==2025.4.1[2025-07-24 12:56:28.408039]
+ markupsafe==3.0.2
+ narwhals==1.48.0
+ numpy==2.3.1
+ pandas==2.3.1
+ pillow==11.3.0
+ protobuf==6.31.1
+ pyarrow==21.0.0
+ pydeck==0.9.1
+ python-dateutil==2.9.0[2025-07-24 12:56:28.408288] .post0
+ pytz==2025.2
+ referencing==0.36.2
+ rpds-py==0.26.0
+ six==1.17.0[2025-07-24 12:56:28.408523]
+ smmap==5.0.2
+ streamlit==1.47.0
+ tenacity==9.1.2
+ toml==0.10.2[2025-07-24 12:56:28.408750]
+ tornado==6.5.1
+ tzdata==2025.2
+ watchdog==6.0.0
────────────────────────────────────────────────────────────────────────────────────────
[12:56:29] 📦 Processed dependencies!
────────────────────── Traceback (most recent call last) ───────────────────────
/home/adminuser/.conda/lib/python3.13/site-packages/streamlit/runtime/script
runner/exec_code.py:128 in exec_func_with_error_handling
/home/adminuser/.conda/lib/python3.13/site-packages/streamlit/runtime/script
runner/script_runner.py:669 in code_to_exec
/mount/src/cryoswath/st_l1_app.py:3 in <module>
1 """CryoSat L1b to L2 processing tutorial"""
2
❱ 3 from cryoswath.l1b import (
4 │ append_best_fit_phase_index,
5 │ append_ambiguous_reference_elevation,
6 │ read_esa_l1b,
/mount/src/cryoswath/cryoswath/__init__.py:13 in <module>
10 ]
11
12 from importlib.metadata import version as _version
❱ 13 from cryoswath import gis, misc, l1b, l2, l3, l4, test_plots
14
15
16 # copied from xarray
/mount/src/cryoswath/cryoswath/gis.py:15 in <module>
12 │ "get_lon_origin",
13 ]
14
❱ 15 import geopandas as gpd
16 import numpy as np
17 import os
18 import pandas as pd
────────────────────────────────────────────────────────────────────────────────
ModuleNotFoundError: No module named 'geopandas'
[13:35:36] 🚀 Starting up repository: 'cryoswath', branch: 'st_l1_app', main module: 'st_l1_app.py'
[13:35:36] 🐙 Cloning repository...
[13:35:43] 🐙 Cloning into '/mount/src/cryoswath'...
[13:35:43] 🐙 Cloned repository!
[13:35:43] 🐙 Pulling code changes from Github...
[13:35:44] 📦 Processing dependencies...
/home/adminuser/.conda/lib/python3.13/argparse.py:1258: FutureWarning: `remote_definition` is deprecated and will be removed in 25.9. Use `conda env create --file=URL` instead.
subnamespace, arg_strings = subparser.parse_known_args(arg_strings, None)
Retrieving notices: [2025-07-24 13:35:47.098049] - [2025-07-24 13:35:47.198071] done
Channels:
- conda-forge
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): | [2025-07-24 13:35:47.415000] / [2025-07-24 13:35:47.515108] - [2025-07-24 13:35:47.615516] \ [2025-07-24 13:35:47.728593] | [2025-07-24 13:35:47.828490] / [2025-07-24 13:35:47.928530] - [2025-07-24 13:35:48.028614] \ [2025-07-24 13:35:48.128781] | [2025-07-24 13:35:48.228846] / [2025-07-24 13:35:48.328971] - [2025-07-24 13:35:48.429246] \ [2025-07-24 13:35:48.529437] | [2025-07-24 13:35:48.629512] / [2025-07-24 13:35:48.783720] - [2025-07-24 13:35:48.887300] \ [2025-07-24 13:35:48.984807] | [2025-07-24 13:35:49.085016] / [2025-07-24 13:35:49.186103] - [2025-07-24 13:35:49.285332] \ [2025-07-24 13:35:49.385351] | [2025-07-24 13:35:49.485451] / [2025-07-24 13:35:49.585631] - [2025-07-24 13:35:49.685691] \ [2025-07-24 13:35:49.786069] | [2025-07-24 13:35:49.887410] / [2025-07-24 13:35:49.991556] - [2025-07-24 13:35:50.092575] \ [2025-07-24 13:35:50.196326] | [2025-07-24 13:35:50.297085] / [2025-07-24 13:35:50.759776] - [2025-07-24 13:35:58.605336] \ [2025-07-24 13:36:00.851552] | [2025-07-24 13:36:04.541693] / [2025-07-24 13:36:05.389361] - [2025-07-24 13:36:05.677979] \ [2025-07-24 13:36:05.864771] | [2025-07-24 13:36:05.967186] done
Solving environment: [2025-07-24 13:36:05.967842] -
[14:30:53] 🐍 Python dependencies were installed from /mount/src/cryoswath/environment.yml using conda.
[14:30:53] 📦 WARN: More than one requirements file detected in the repository. Available options: conda /mount/src/cryoswath/environment.yml, poetry /mount/src/cryoswath/pyproject.toml. Used: conda with /mount/src/cryoswath/environment.yml
[14:30:58] 📦 Processed dependencies!
[14:31:01] 🐙 Pulling code changes from Github...
[14:31:01] 📦 Processing dependencies...
[14:31:01] 📦 Processed dependencies!
[14:31:02] ❗️
[14:31:03] 🔄 Updated app!