Below Windows is a tutorial to package the Python program into the exe program using py2exe
- 2020-05-07 19:56:56
- OfStack
py2exe is only supported up to 2.7 in sourceforge downloads.
For python 3.0+, you need to compile it yourself.
1. Download the source
svn checkout svn://svn.code.sf.net/p/py2exe/svn/trunk py2exe-svn
2. Compile environment
vs2014 is used here.
3. Install
Enter the py2exe - 3
python setup.py install
There will be compilation and installation.
In addition, python USES vs9 by default. For vs2014, the following file needs to be changed:
Lib\distutils\msvc9compiler.py
Looking for:
VERSION = get_build_version()
Add:
VERSION = 11.0
If an error occurs:
Failed to load and parse the manifest. The system cannot find the file specified.
error: command 'mt.exe' failed with exit status 31
Solution: since the parameters of link.exe were slightly changed after vs2010, manifest file was not generated at link, and naturally mt.exe could not find this file. Just search MANIFESTFILE for 1 in msvc9compiler.py, and then add a line ld_args.append ('/MANIFEST') to OK. (python 3.4 seems to have no such problem, while 2.7 exists)
4.setup.py
setup.py can refer to the official website, where the parameter -- bundle-files, which needs to be specifically mentioned, is set to 0 if you want to pack 1 package.
Changes can be reference: http: / / sourceforge net/p/py2exe/svn HEAD/tree/trunk/py2exe - 3 /
ends with setup.py
from distutils.core import setup
import py2exe
import sys,os
if sys.version_info.major >= 3.0:
opt_bundle_files = 0
else:
opt_bundle_files = 1
includes = ["PyQt4.QtCore","PyQt4.QtGui","sip"]
options = {"py2exe":
{ "compressed": 1,
"optimize": 2,
"includes": includes,
"bundle_files": opt_bundle_files,
}
}
setup(
version = "0.1.0",
description = "test_add",
options = options,
zipfile=None,
console=[{"script": "test_add.py", "icon_resources": [(1, "py.ico")] }],
#windows=[{"script": "test_add.py", "icon_resources": [(1, "py.ico")] }],
)