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.