Convert GUI App to Real Program - Python to exe to setup wizard

499,832
0
Published 2023-01-27
You've just made a beautiful GUI app with Python - but there's a big difference between creating an app for your personal use and distributing it all across the web, reaching many people who don't necessarily know anything about Python.
In this tutorial, I will show you exactly how to convert your Tkinter, Kivy, KivyMD, PyQT5, or other GUIs into a full-blown professional program! 🤩🤩🤩
The end result is a 😱 SINGLE SETUP FILE 😱 which anyone can download and install on their computer - even your grandmom!!! 👵
We will use Pyinstaller to create an executable file and Inno Setup to bundle it with dependencies and convert them into a setup wizard.
In addition, we will discuss some common errors, how to fix them and how to avoid irrelevant instructions (hint: do we really need to modify the SPEC file? 🤔)
We will briefly tackle licensing (open source, as you may guess 😉), and generating icons.
Please note, this video is designed for Windows developers and users! However, I will cover Linux and Mac as well in some future tutorials... the Mac tutorial is of course inspired by Tom! XDD (but only members of our Discord community will understand the joke, this is how I test if they read video descriptions 😅)

-------------------------------------------
⏰ Time Stamps ⏰
-------------------------------------------
00:00 - intro
00:40 - project files and database
01:31 - download Random Recipe Picker (or use your own Python app)
03:29 - install requirements.txt
03:46 - Pyinstaller vs auto-py-to-exe
04:25 - run Pytinstaller builder
05:22 - prep GUI script for Pyinstaller
05:56 - resource path (and important sys._MEIPASS fix!)
08:18 - SPEC file
09:20 - generate software icons
10:04 - convert script and assets to exe file
11:22 - fix Pyinstaller File Not Found Error
12:48 - test executable
13:36 - install Inno Setup
14:17 - convert exe and assets into a setup file
16:39 - license
20:00 - add subdirectories to Inno Setup compilable
21:56 - test setup file on another PC
22:57 - thanks for watching! :)

-------------------------------------------
📽️ Important Tutorials 📽️
-------------------------------------------
⭐ Create GUI App with SQLite and Tkinter (Random Recipe Picker):
   • Create GUI App with Tkinter and SQLit...  
⭐ Anaconda for Beginners:
   • Anaconda Beginners Guide for Linux an...  
⭐ Convert .py to .exe with auto-py-to-exe:
   • Convert py to exe - from code to soft...  

-------------------------------------------
💻 VENV Alternative 💻
-------------------------------------------
$ python3 -m venv name_of_my_env
$ source name_of_my_env/bin/activate

-------------------------------------------
🖇️ Tutorial Links 🖇️
-------------------------------------------
🔗 Random Recipe Picker Repository: github.com/MariyaSha/RandomRecipePicker
🔗 Resource Path Function (Stack Overflow): stackoverflow.com/questions/31836104/pyinstaller-a…
🔗 PNG to ICO Icon Converter: image.online-convert.com/convert-to-ico
🔗 Inno Setup: jrsoftware.org/isinfo.php
🔗 Open Source Initiative MIT License: opensource.org/licenses/MIT

-------------------------------------------
🤝 Connect with me 🤝
-------------------------------------------
🔗 Github:
github.com/mariyasha
🔗 Discord:
discord.com/invite/wgTTmsWmXA
🔗 LinkedIn:
ca.linkedin.com/in/mariyasha888
🔗 Twitter:
twitter.com/mariyasha888
🔗 Blog:
www.pythonsimplified.org/

-------------------------------------------
💳 Credits 💳
-------------------------------------------
⭐ Beautiful titles, transitions, sound FX, and music:
mixkit.co
⭐ Beautiful icons:
flaticon.com

#gui #graphics #app #application #python #pythonprogramming #exe #pythoncoding #software #softwaredevelopment #pythonsimplified #convert #code #pyinstaller #innosetup #wizard #windows

All Comments (21)
  • @hiutale
    Hih, this is a tad too advanced info for me but oh my gosh how much I CANNOT WAIT to use this tutorial in real life!!! 😍 Thank you, Mariya! 😍 I'm only half way through but I'll finish watching the tutorial now just to see how much I understand already. Comparing oneself to the past versions of oneself is the best way too see the progress! Keep it up everyone!! 😁😁👍 And Mariya, please keep up the amazing work! Our support for you is an infinite loop after clicking 'run'! 👾🎵🥳
  • @talosong7409
    I rarely comment on youtube videos, but I gotta mention just how much time I saved from the MEIPASS fix from your video. Absolute lifesaver.
  • @mattknezel8003
    This was the most complete video on this topic I have found. Appreciate the great structure and clear instruction!
  • @ojaimark
    I can't thank you enough for this video. Like lots of python developers I've been tearing my hair out trying to find a simple way to deploy python scripts in a way that my non pythonic coworkers can utilize them. This works so well, and it's a very familiar workflow for them to just install it like any other program. Also thank god you mentioned MEIPASS2 or I might have given up before finding the answer to that error.
  • @dogustabiyat
    This year it was my 1st year in Computer science and we did Python these feedback you give is amazing thank you in advance I learn new things everyday now on holidays.
  • @mary_040
    Hi Marija, I just recently discovered your channel. I often have problems evaluating and understanding documentations and plain text for myself, so I love that you visualize a lot in your videos! The simplicity of the examples is incredibly important to understand the principle of things. With this knowledge, it is then easier to understand complex explanations afterwards. You have a gift for teaching and illustrating! Besides that, it makes me very happy to see other women succeed in the IT world. - A fellow Maria :)
  • You have a talent to present the information very clearly and easy to understand. I wish you had an expertise beyond Python.
  • Thank you so much for such a clear ,step-by-step and descriptive video, not only you gave steps to follow but also gave us an approach to handle different errors...very grateful for such a wonderful explanation
  • Thank you for creating such an informative and helpful video on converting GUI app to a real program using Python to exe to setup wizard. Your explanation was clear and concise, and the step-by-step demonstration made it easy to follow along. I was able to successfully convert my own GUI app using the PyInstaller and Inno Setup tools, and I couldn't have done it without your guidance. Your video has been a valuable resource for me and I appreciate the time and effort you put into creating it. Once again, thank you for sharing your knowledge and expertise with us. Looking forward to more informative videos from you in the future.
  • @tenamsb686
    Thanks for the turtorial!! ☺️ I tried doing it by myself a few years ago - I failed miserably. Haha. So, I got an idea about the hard-work you would have to put in to make this all work. My God!
  • @sviatkey
    I am speechless. What an amazing and big job done for this tutorial!
  • @ellukayou
    Thank you so much, I am developing a warehouse app and didn't find a tutorial for people like me. Thank you!
  • @KhalidThwiny
    Every time I watch one of your videos, I learn something new. Thank you very much for all your efforts and for sharing your knowledge! 🌹
  • Hi Mariya. Thanks so much for this video. I just installed and run my app in my second pc and everything went perfectly. I was so happy to see it running. Thanks again
  • Found a great channel where the presenter shows each step in details. Subbed, liked and commented.
  • I have been following your tutorials for a very long time. All are very helpful and really python simplified. Thank you and good luck.
  • @jenglish1986
    Awesome video. Like code you are so concise. No distractions and you cover a lot of ground. Having watched hundreds of programming videos I must say this was the best I’ve seen. Please keep making projects!
  • @peterthuo7
    This is the most helpful video I have ever watched since I started programming.
  • @ileaneclectic
    Absolutely fantastic! Thank you so much for slowly going step by step and alerting us to potential errors!
  • @rickyusuf8696
    This is gold, Mariya! I haven’t tried it yet, but I e seen plenty of people frustrated with building up the app. I’ll definitely give it a try!