主要有三種方式進行打包py2exe,PyInstaller和cx_Freeze,
py2exe和PyInstaller會出現dll打包不完整和沒有最新對應的
python 版本,是以使用cx_freeze1.安裝cx_freeze
pip install cx_Freeze==6.01b1
使用cxfreeze --version檢驗是否安裝成功
2.建立setup.py腳本
from cx_Freeze import setup, Executable
# Dependencies are automatically detected, but it might need
# fine tuning.
buildOptions = dict(packages = [], excludes = [])
import sys
import os
os.environ['TCL_LIBRARY'] = 'I:\\Python36\\tcl\\tcl8.6'
os.environ['Tk_LIBRARY'] = 'I:\\Python36\\tcl\\tk8.6'
base = 'Win32GUI' if sys.platform=='win32' else None
includes = []
includes_files = ['I:\\Python36\\DLLs\\tcl86t.dll',
'I:\\Python36\\DLLs\\tk86t.dll']#改成自己存放路徑
executables = [
Executable('I:\\Python36\\Scripts\\gui_local_baidu.py', base=base, targetName = 'convert_success.exe')
]#gui_local_baidu.py需要改成自己的py檔案
setup(name = 'convert_local',
version = '0.1',
description = 'convert_baidu',
#options = {"build_exe":{"includes":includes,"includes_files":includes_files}},
executables = executables
)
将這個setup.py檔案放在與cxfreeze相同的路徑之下
3.将這個檔案打包成可安裝程式
python setup.py bdist_msi
打包之後,便可在目前目錄下找到dist檔案加中找到msi檔案,便可輕松移植啦