Do you know if there would be any challenges in deploying a Streamlit app on PythonAnywhere (https://www.pythonanywhere.com/)?
I’m looking for a quick and simple alternative to Heroku as unfortunately I’d need to deploy several apps on a laptop and I won’t be able to download Heroku’s CLI there (which I believe is mandatory to deploy apps?).
Happy to hear about any other alternatives for an easy Streamlit app deployment!
This product needs to be portable on the web, a platform where you have to ask for hosting consideration and once deployed they are the only option is no option at all.
This is what I found so far, in regards to my question.
I imagine one of the reasons Streamlit devs chose Tornado as a framework was based on its asynchronous capabilities, unfortunately pythonanywhere only supports WSGI and Stramlit doesn’t. Streamlit might install and partially run on pythonanywhere but if/when it tries to make an asynchronous call an error will be generated.
I will not try to install the Streamlit in pythonanywhere based on what I found, for me Streamlit will have to wait.
Some of my reference material:
Streamlite forum
“Streamlit runs its own web server via the Tornado framework, and there’s no good way to embed a Streamlit app inside a Flask server.”
Pythonanywhere
“However, if you’re using Tornado as a web framework and don’t care about the asynchronous stuff, you can use it on PythonAnywhere.”
Streamlite forum
“At this time Streamlit doesn’t support the WSGI protocol”
You could use the redirect to send your users from your flask app to your streamlit app or you can embed your streamlit through an iframe in your html.
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.