Community Cloud not recognising conda installed streamlit version

Community Cloud seems to be ignoring a Streamlit version installed using conda, and overwriting it with a pip installed version that then ignores the dependencies of the yaml file. This is causing me issues with s3fs/botocore/urllib, which end up out of sync and and prevent me importing s3fs.

I’ve had a few issues with Community Cloud processing a yaml file to specify a conda environment. Everything here works fine offline, but causes issues when processing dependencies on the cloud. The first issue was with using the conda-forge channel as in

That’s fine, though conda-forge has 289057 downloads for streamlit and counting so not sure what everyone else is doing re environment creation. I’ve used the defaults/main channel instead, however main only has Streamlit=1.24 (https://anaconda.org/search?q=streamlit). When I set-up a yaml file with channels as “defaults” conda pulls streamlit=1.24, sorts out the rest of the dependencies, then checks if Streamlit is installed, and starts pip installing streamlit=1.26. This has different dependencies, overrides what’s already been installed and leaves me with an error when it comes to s3fs, botocore and urllib which are now out of sync with each other.

Basic reproducible repo is here, with example logs included:

1 Like

Why not try the easiest solution?

requirements.txt

pandas
pillow
streamlit
tqdm
s3fs

Or if you need pinned versions, here for Python 3.9:

requirements.txt

pandas==2.1.0
Pillow==9.5.0
streamlit==1.26.0
tqdm==4.66.1
s3fs==2023.9.0

Thanks Franky, yeah that did occur as a possibility, and maybe what I’ll end up doing. I’m running a conda environment locally so in an ideal world I’d be able to use one on the cloud but if that feature just doesn’t work then I’ll revert to requirements.

I personally don’t use conda at all, so I can’t help with that specific problem.


I use locally either a normal Python virtual environment with pip/pypi or even better a Docker container to be as close as possible to the Streamlit Cloud runtime. This avoids endless trial-and-error commits and the linux/debian issues can be solved right from the start.

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