1. 程式人生 > >Compile python to exe

Compile python to exe

When we write a python file, we can use command line “python test.py” to execute this file, but we need python environment, when publish programs, most user don’t have python in their PC, so sometimes we need to transfer python to executable file, like exe.

Here are two methods to make it.

Suppose our code like below:

#encoding:utf-8
#test.py
if __name__ == "__main__":
    print("Hello world!")

1. py2exe

latest version just support python 2.6

Install py2exe

Create a python file named setup.py, code is:

#encoding=utf-8
# test.py
from distutils.core import setup
import py2exe

setup(console=["test.py"])

then execute in command:
python setup.py py2exe


It will generate a dir named dist, dir dist include test.exe, python26.dll,library.zip, etc.

2.python.cx_freeze

support python version 2.x 3.x

install it

Create a python file named setup.py, code is:

# encoding:utf-8
from cx_Freeze import setup, Executable
setup(
name = "test",
version = "0.1",
descrīption = "This is a test",
executables = [Executable("test.py", icon = "test.ico")])

Now you can see, cx_freeze can set an icon for your exe, default it based console application, also you can set application based win32gui like this
executables = [Executable("test.py", base="Win32GUI" icon = "test.ico")])

then execute in command
python setup.py build
build is a dir, it include some *.pyd, python26.dll, library.zip, test.exe, etc.

Then you can publish your application for user.