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:
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.
Thanks for stopping by! We use cookies to help us understand how you interact with our website.
By clicking “Accept all”, you consent to our use of cookies. For more information, please see our privacy policy.
Cookie settings
Strictly necessary cookies
These cookies are necessary for the website to function and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms.
Performance cookies
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us understand how visitors move around the site and which pages are most frequently visited.
Functional cookies
These cookies are used to record your choices and settings, maintain your preferences over time and recognize you when you return to our website. These cookies help us to personalize our content for you and remember your preferences.
Targeting cookies
These cookies may be deployed to our site by our advertising partners to build a profile of your interest and provide you with content that is relevant to you, including showing you relevant ads on other websites.