How to Convert Python .py file to .exe
In Python whenever we create a script, by default it get saved with .py extension which is standard for python. To execute this, we need python environment i.e. libraries and supporting files. But think of a situation when any python script is to be shared with someone who has machine without python installed on it. In such cases we need .exe files which are self contained with the required dependencies, thus do not need dedicated environment file for python. Let see how to convert python .py file to .exe.
To get started we need to first install a utility called as PyInstaller. PyInstaller bundles python application and all its dependencies in single file. Please note that PyInstaller supports Python 3.5 & newer version. Its available for Windows, MacOS & Linux. In this tutorial, we will be working on Windows OS. For more information on PyInstaller, please access the documentation here.
To install it, open Windows Power Shell, you can search it and open as well.
On the PowerShell window, type below command to install PyInstaller & press Enter.
pip install pyinstaller
As I have already installed it previoulsy, I am getting message stating “Requirement already satisfied”.
Once installation is done, you are ready to go. To convert the .py file to .exe, we need to use below command. After command execution, .exe file will be available in dist folder. in same directory from where command was executed.
pyinstaller -w -F <path to .py python file to be converted>
In above command,
- -w : To hide Terminal Window during the exe file execution.
- -F : To bind all dependencies in single file. If we skip this option, all dependent files will be available in the dist folder, which is not what we want.
That’s it! The exe file will be available in dist folder.
Use of Custom Icon
By default the icon assigned to the converted exe file will be
If you want to change the default icon to the custom one, then you can do this with option “-i“. Only requirement is that the image you want to use should be in .ico format. There are multiple online convertors available which you can use to convert .jpg or .png files to .ico format. Once you have the custom image with ico format, you need to re-execute the previous command, but this time with additional “-i” option as below.
pyinstaller -w -F -i "<path to custom image file>" <.py file>
So easy right!