Using CX_Freeze in Python
Last Updated :
11 Jul, 2025
We have created many interesting projects and programs in Python.There may come a time when we've created something very exciting, and we want to share it. Usually, in order to share our Python program, the recipient is going to need to have the same version of Python installed, along with all of the modules used. Well this can be quite tedious to require. The interest in converting to .exe is fairly high for distribution, and there are a couple of options. With Python 2.7,
Py2exe is a great choice & for Python 3, cx_freeze works quite nicely.
CX_Freeze | .py to .exe
cx_Freeze is a set of scripts and modules for freezing Python scripts into executables, in much the same way that
py2exe and
py2app do. Unlike these two tools, cx_Freeze is cross-platform and should work on any platform that Python itself works on. It supports Python 2.7 or higher (including Python 3).
We'll first need to get cx_Freeze: download from
here or install it using pip:

Once we have cx_freeze, we're ready to get started. We will parse 'geeksforgeeks.org' with regex and urllib.
Python
import urllib.request
import urllib.parse
import re
import time
url = 'https://www.geeksforgeeks.org/'
values = {'s' : 'basics',
'submit' : 'search'}
data = urllib.parse.urlencode(values)
data = data.encode('utf-8') # data should be bytes
req = urllib.request.Request(url, data)
resp = urllib.request.urlopen(req)
respData = resp.read()
paragraphs = re.findall(r'<p>(.*?)</p>',str(respData))
for eachParagraph in paragraphs:
print(eachParagraph)
time.sleep(14)
Output: We've added a 14 second sleep at the end, so that we can run the executable and see the output before it closes.So, let's save this file as "reandurllib.py."

Now, we create a second file called "setup.py"
Python
from cx_Freeze import setup, Executable
setup(name = "GeeksforGeeks" ,
version = "0.1" ,
description = "" ,
executables = [Executable("reandurllib.py")])
So, here we're importing from cx_Freeze setup and executable, then we call the setup function, adding 4 parameters.
- name : this is the name we want our executable to be
- Version : is just a version number to give it,
- description : All the details we want to give(optional)
- executableThese are finally what shall we convert, using the executable function and the python script's path to be converted as the parameter.
Next, we open up cmd.exe, or bash, or whatever shell we have, navigate to the directory that has the setup.py and the script to be converted, and we run:
python setup.py build
Now we're given a build directory. Within it, we find another directory, and within THAT, we find our executable! If everything went right, it should parse the search result of basic from
geeksforgeeks.org, and display the text results for 15 seconds before closing.Check, how to find the executable:
Some things wont be so simple. Converting things like Pygame and Matplotlib are very difficult and are solved in a case-by-case basis.
Reference:
Similar Reads
frozenset() in Python Python Method creates an immutable Set object from an iterable. It is a built-in Python function. As it is a set object, therefore, we cannot have duplicate values in the frozenset.ExampleIn this example, we are creating a frozen set with the list in Python.Pythonanimals = frozenset(["cat", "dog", "
4 min read
How to capture SIGINT in Python? The signal module performs a specific action on receiving signals. Even it has the ability to capture the interruption performed by the user through the keyboard by use of SIGINT. This article will discuss SIGINT only, how to capture it, and what to do after it has been captured. Modules Required: S
3 min read
Writing files in background in Python How to write files in the background in Python? The idea is to use multi-threading in Python. It allows us to write files in the background while working on another operation. In this article, we will make a 'Asyncwrite.py' named file to demonstrate it. This program adds two numbers while it will al
2 min read
Debugging with ice cream in Python Do you often use Python print() to debug your code? However, if you want to make a significant improvement, you could use IceCream which would make debugging faster, cleaner, and easier to read. ic(), which is short for IceCream prints both expressions/variable names and their values. ic() is faster
7 min read
Create Multiple jobs using python-crontab Cron is a Unix-like operating system software utility that allows us to schedule tasks. Cron's tasks are specified in a Crontab, which is a text file that contains the instructions to run. The Crontab module in Python allows us to handle scheduled operations using Cron. It has functionalities that a
2 min read
wxPython - Create empty window wxPython is one of the most famous library in python for building GUI applications. In this first article of wxPython we will build an empty window using wxPython Library. Steps to create empty window : 1. Import wx in your code 2. Create wx.App object 3. Create object for wx.Frame 4. Show frame usi
1 min read