CX_Freeze Python Tutorial



There may come a time when you've created something very exciting, and you want to share it. Usually, in order to share your 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, I have found cx_freeze to work quite nicely. Here's a tutorial covering how it works.

You'll first need to get cx_Freeze: http://cx-freeze.sourceforge.net/

Once you have cx_freeze, you're ready to get started.

First, you're going to need a python program to convert. For now, stick with standard library modules at most. Here, we'll use the urllib + re tutorial where we parsed Pythonprogramming.net:

import urllib.request
import urllib.parse
import re
import time


url = 'http://pythonprogramming.net'
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(15)

We've added a 15 second sleep at the end, so that we can run the executable and see the output before it closes.

I've saved this file as "reandurllib.py."

Now, we create a second file called "setup.py"

from cx_Freeze import setup, Executable

setup(name = "reandurllib" ,
      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. For name, this is the name we want our executable to be. Version is just a version number to give it, description if you want, then 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 you did everything right, it should parse the search result of basic from PythonProgramming.net, and display the text results for 15 seconds before closing. Awesome, right?

Some things wont be so simple. Converting things like Pygame and Matplotlib are very difficult and are solved in a case-by-case basis. Most things, however, are done very simply like this.


There exists 2 quiz/question(s) for this tutorial. for access to these, video downloads, and no ads.

The next tutorial:





  • Python Introduction
  • Print Function and Strings
  • Math with Python
  • Variables Python Tutorial
  • While Loop Python Tutorial
  • For Loop Python Tutorial
  • If Statement Python Tutorial
  • If Else Python Tutorial
  • If Elif Else Python Tutorial
  • Functions Python Tutorial
  • Function Parameters Python Tutorial
  • Function Parameter Defaults Python Tutorial
  • Global and Local Variables Python Tutorial
  • Installing Modules Python Tutorial
  • How to download and install Python Packages and Modules with Pip
  • Common Errors Python Tutorial
  • Writing to a File Python Tutorial
  • Appending Files Python Tutorial
  • Reading from Files Python Tutorial
  • Classes Python Tutorial
  • Frequently asked Questions Python Tutorial
  • Getting User Input Python Tutorial
  • Statistics Module Python Tutorial
  • Module import Syntax Python Tutorial
  • Making your own Modules Python Tutorial
  • Python Lists vs Tuples
  • List Manipulation Python Tutorial
  • Multi-dimensional lists Python Tutorial
  • Reading CSV files in Python
  • Try and Except Error handling Python Tutorial
  • Multi-Line printing Python Tutorial
  • Python dictionaries
  • Built in functions Python Tutorial
  • OS Module Python Tutorial
  • SYS module Python Tutorial
  • Python urllib tutorial for Accessing the Internet
  • Regular Expressions with re Python Tutorial
  • How to Parse a Website with regex and urllib Python Tutorial
  • Tkinter intro
  • Tkinter buttons
  • Tkinter event handling
  • Tkinter menu bar
  • Tkinter images, text, and conclusion
  • Threading module
  • CX_Freeze Python Tutorial
  • The Subprocess Module Python Tutorial
  • Matplotlib Crash Course Python Tutorial
  • Python ftplib Tutorial
  • Sockets with Python Intro
  • Simple Port Scanner with Sockets
  • Threaded Port Scanner
  • Binding and Listening with Sockets
  • Client Server System with Sockets
  • Python 2to3 for Converting Python 2 scripts to Python 3
  • Python Pickle Module for saving Objects by serialization
  • Eval Module with Python Tutorial
  • Exec with Python Tutorial