TLDR; In this tutorial, I describe every step on how to deploy and publish your app on pythonanywhere. I am personally really convinced by the hosting service. If you are creating an account via my affiliate links you support my work and further tutorials in this direction.
Screenshot from pythonanywhere.com by author
Overview
- Create a beginner account
- Initialize a web app
- Available Plans
- Setup Backend
- Web Configuration
Create a beginner account
Click this link to start: pythonanywhere.com*. You can start with a beginner account. It is totally free for three months and comes with HTTPS encryption and MySQL Database.
Screenshot from pythonanywhere.com by author
Screenshot from pythonanywhere.com by author
You will be redirected and you can start the tour.
Screenshot from pythonanywhere.com by author
Also, do not forget to confirm your email address.
Screenshot from pythonanywhere.com by author
Initialize a web app
(1) We can start now to add a new web app. It is pretty easy. Go to the Web tab.
And add a new web app.
Screenshot from pythonanywhere.com by author
It is opening a window, if you have a paid account, you could enter a customized URL. But, it is not relevant for now, you can modify it later.
Screenshot from pythonanywhere.com by author
Select a python framework, just choose “manual configuration” and select a python version. I chose 3.9.
Screenshot from pythonanywhere.com by author
Screenshot from pythonanywhere.com by author
Et voilà done!
Screenshot from pythonanywhere.com by author
Available Plans
Later, if you feel comfortable, you can do the “Hacker“ Plan for 5 $ USD. Is it enough for running a basic website like a portfolio? I had it for almost one year. Then I changed to the “Web dev” plan because I implemented another webpage. You can also customize any plan by parameters like CPU, the number of apps, or disk space. Compared to other services like DigitalOcean it is way cheaper because you have so much extra included.
Screenshot from pythonanywhere.com by author
Screenshot from pythonanywhere.com by author
Setup Backend
Go to the Console tab and open a new bash console.
Screenshot from pythonanywhere.com by author
Clone my repo from GitHub.
Screenshot from pythonanywhere.com by author
Create a virtual environment for your web app. Here is a good help on how to do it: //help.pythonanywhere.com/pages/Virtualenvs/.
mkvirtualenv webpage_env --python=/usr/bin/python3.9Screenshot from pythonanywhere.com by author
Now, we have to install the required libraries:
pip install -r requirements.txtWeb Configuration
Next, head to the tab Web on pythonanywhere and set up the last configurations:
Under Code, set up your “source code” directory, where your app folder is:
Screenshot from pythonanywhere.com by author
You get the information when initializing the virtual environment in your bash console:
Screenshot from pythonanywhere.com by author
Then, configure the wsgi.py as follows:
Screenshot from pythonanywhere.com by author
Below
++++++++++ FLASK +++++++++++
uncomment the lines for import sys and change your working directory as above. Also, edit your import statement. In this case, our run.py file is the main file.
Screenshot from pythonanywhere.com by author
Comment any other lines and save your changes.
Also, put the directory for your virtual environment under Virtualenv.
Screenshot from pythonanywhere.com by author
Then reload and go to the URL: //testaccountab2022.pythonanywhere.com/
Screenshot from pythonanywhere.com by author
Enable HTTPS also:
Screenshot from pythonanywhere.com by author
It should display:
Screenshot from pythonanywhere.com by author
Congratulations you are done!
Just modify this example to your needs and run it on pythonanywhere.com* for it.
Thanks for reading my article. I hope you liked it. Please feel free to like, share, and comment on it. Follow me on more content about cryptos, stocks, data analysis, and web development. I am hosting my apps on pythonanywhere.com*.
- Read my other article about creating a financial dashboard in Flask
- Check out my webpage and get in touch with me on LinkedIn: antonioblago.com
- Make a free account on my stock and crypto tracking tool: www.tenxassets.com
- If you like to develop web apps, I recommend you pythonanywhere.com*
Disclaimer
*affliate links
More content at PlainEnglish.io. Sign up for our free weekly newsletter. Follow us on Twitter, LinkedIn, YouTube, and Discord.