How to Convert A .py Script into A .exe File

turn .py files into .exe

Picture this: you’ve just finished creating a fantastic Python program and intend to let the world see it. You then send your friend a directory containing all your scripts and encourage them to try it out. Only first, they must install Python and then run the program via the IDLE shell or the command line. But your friend isn’t willing to use the command line. 

Or, you’re an Administrator responsible for getting all team members in the organization to run your Python script, including the non-technical staff. How will you distribute your code to other users so they only have to click on an executable file?

Fortunately, numerous Python utilities can help you turn .py file into .exe by “freezing” your code and building an executable file. This guide will take you through the three most popular approaches and tools. These solutions are straightforward and versatile, but you may prefer one over the others, depending on your use case.

Different Ways to Turn a .py File into a .exe File

Here are the three most common strategies that you can use to distribute Python files to users who expect executable files:


This Python module effectively bundles your script alongside each dependency into one executable known as myscript (myscript.exe). It lets you turn the file into the application, allowing the user to run it without being forced to install Python packages.

Sign Up for Email Updates

Most users prefer it because it delivers something they understand – a single executable to launch. However, you must prepare to distribute any related files (such as README) separately.

To use this module, you must first install it via the following command: pip installer.

Once you’ve successfully installed it, direct your command prompt to the specific folder that contains your Python script, then type this command: py installer –onefile filename.

If it’s a virtual environment, ensure you install it again on the infrastructure with the same command. As confusing as it may sound, installing Pyinstaller on the base and virtual environment is necessary.

If you run the command, it will begin converting the Python file into exe. It will create three directories, and the one with the name dist contains your .exe file. So navigate to it, open the project folder, and then click on the .exe file.

At first, the application may not be as practical as expected, so ensure you paste all dependencies such as text files and images inside the project folder.

When you run the program, you’ll notice that it’s functioning as a standalone application. The main benefit of this approach is that it’s executable even on systems that don’t have Python. You can download Pyinstaller here.


This second method of converting .py files into .exe offers an incredible Graphical User Interface (GUI) that addresses everything necessary to facilitate the conversion.

You’ll begin by installing the latest auto-py-to-exe version by simply opening a terminal then running the pip install auto-py-to-exe command. You must ensure that the working environment where you intend to install the Python package contains the necessary libraries to run your script.

After installation, you’ll create an executable file by writing the auto-py-to-exe command. After you’ve run the command, a GUI application will open, and you’ll use the following steps to turn a .py file into an executable file.

Add The Location of the Script 

Browse the Python script you intend to convert, then augment it to Script Location. You can choose any script. But if your script has to read a path, ensure you leverage absolute paths. This is because relative paths may not behave as you would expect with .exe files.

You may have to include this line of code: application_path = os.path.dirname(sys.executable). This will help you find out where the .exe file is situated and change your script appropriately to read or export files to their respective directories.

Choose “One File” or “One Directory”

Next, you’ll decide whether you wish to create one file or one directory. The first option creates just a single executable file, while the latter comes up with a directory comprising all the dependencies your script requires to run, including the .exe files.

Choosing “Window Based” or “Console Based”

The third step involves deciding whether to display the console or not. The “Console-Based” option will open the console after running the .exe file, a recommended approach if your script creates console-based outputs. But if you don’t want the console outputs to display when running the .exe file, go for “Window-Based.”

You may also use the advanced option that lets you add an icon, the necessary files for running your script, and more.

If you see the error “ModuleFoundNotError” after double-clicking the .exe file, you’ll begin from the first step, but now using the “Advanced” option.

Convert the File

You’ll conclude the process of converting the .py file to an executable application by clicking on the blue-colored “Convert” button.

It’s crucial that auto-py-to-exe displays the code installer needs to deliver an .exe file behind the fancy GUI displayed on the screen. This should be right above the Convert button. Once you’ve completed the process, your executable file should be right within the output directory you picked in the fourth step. Go here to download auto-py-to-exe.

Converting Using py2exe

Finally, you can avoid the numerous prerequisites of executing Python scripts using 2exe module. It works like the other modules, but it’s ideal for Python Three, and you can’t rely on it in Python Two.

You’ll begin by installing the module using this line of code: pip 2exe. You’ll then come up with the file inside your target folder, then open your command prompt and type 2exe command.

When you run the module, it’ll create a dist folder containing all the files. Make sure you add you replace with your preferred file name.

The last stage of this process involves adding any important libraries and programs to the setup. You can download py2exe here.

The Bottom Line

It totally makes sense to send ready-to-view applications to other users if you want them to peak and share their insights. Fortunately, you can convert a .py file into a .exe file using the above processes.

Sign Up for Email Updates
Pierian Training
Pierian Training

You May Also Like

Data Science, Machine Learning, Python Basics

Machine Learning with Python: Linear Regression

Introduction In this blog post, we’ll be exploring Linear Regression in Machine Learning with Python.  There are many potential applications for linear regression, especially for your business, including: Sales forecasting: Linear regression can be used to predict future sales based on historical data, such as product pricing, marketing expenses, and consumer demographics. Inventory management: Linear […]

Data Science, Python Basics

Analyzing Taylor Swift’s Songs with Python

Analyzing Taylor Swift’s Songs¶ To celebrate Taylor’s new album which has 10 of the top 10 Billboard charts (first time to ever happen), let’s explore Taylor’s discography with the Spotify API. Get credentials from Spotify API¶ Go to your Spotify Dashboard at and create a new application, then grab the Client ID and Client […]

Data Science, Tutorials

Analyzing Senate Stock Trades

Analyzing Stock Market Activity of US Senators with Python¶ In 2012, a law called ” Stop Trading on Congressional Knowledge (STOCK) Act of 2012″ was passed, which prohibits the use of non-public information for private profit, including insider trading by members of Congress and other government employees. This law however did not completely ban stock, […]