How to Compile Python Code
Since Python is an interpreted language, compilation of Python code can mean many things, including compilation to byte code or transformation to another language. When you learn how to take Python code and compile it into an executable for Windows platforms, you can create a Python program and have Windows users seamlessly run it.
Things You'll Need
- Windows computer with a Python environment installed on it
Create your Python program or import it into the Windows environment.
Run your code in the Python interpreter and make sure there are no errors in the code:
c:Python\> Python mycode.py
Download the py2exe win32 compiler from the py2exe website (see Resources below).
Save the downloaded file to disk.
Open the downloaded file and click through the installation process. This should take a few seconds. The installation will create a py2exe.exe program in your distutils directory distributed with your Python installation that you will use to create the compiled code.
Compile Python Code
Open a new text file in Notepad or your favorite editor and save it as mysetupfile.py. This text file will tell the py2exe program which Python programs to convert into an exe.
Add the following lines in the text file:
from distutils.core import setup
where "mycode.py" is the name of your Python program you wish to compile.
Run the mysetupfile.py file through the py2exe program:
c:\Python> Python mysetupfile.py py2exe
Wait until the py2exe compiler finishes producing its output. If all goes well, the compiler may inform you of the DLLs that your Python program is dependent on once it finishes compiling.
Wait until the compilation is done. Once it is, a directory called "dist" will be created. Enter the directory by type:
c:\Python> cd dist
Look in the directory to see an exe of your project. Test the compile by running the program:
Tips & Warnings
- Frederick Lundh's Compiling Python web page has a rundown on a variety of different techniques and platforms to compile Python (see Resources below). You can find tips for compiling to byte code, Mac and Unix environments.
- There are a number of Windows popular Python packages that may have gotchas when you are trying to compile. Some of these packages include wxPython, numPy and pyXML. If you are having difficulty with external modules or packages, consult the py2exe website (see Resources below).
- The compilation process creates only an exe file, not a fully installable package. You will need to use a utility like MSI or Innosetup to create a full installer package once the exe is done.