目录
1-pyinstaller
安装:
pip install pyinstaller
-F, -onefile **打包一个单个文件**,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, -onedir打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,比较推荐这样,代码易于维护.
-K, -tKk在部署时包含TCL/TK
-a, -ascii不包含编码在支持Unicode的python版本上默认包含所有的编码
-d, -debug产生debug版本的可执行文件
-w, -windowed-noconsole 使用Windows子系统执行.当程序启动的时候**不会打开命令行**(只对Windows有效).
-c, -nowindowed-console使用控制台子系统执行(默认)(只对Windows有效)
打包:
使用:pyinstaller -F test.py
-F
-W --不显示黑窗口了
------->test.exe
2-py2exe
安装:
pip install py2exe
打包:
python setup.py py2exe
打包时需要借助setup.py脚本,(要将打包的文件名写在脚本里面)
----脚本和打包的文件都放到py2exe目录下.
最后在py2exe目录下执行命令.
setup.py
from distutils.core import setup
import py2exe
INCLUDES = ['test'] #此为打包文件的名字.
options = {
"py2exe" :
{
"compressed" : 1, # 压缩
"optimize" : 2,
"bundle_files" : 1, # 所有文件打包成一个 exe 文件
"includes" : INCLUDES,
"dll_excludes" : ["MSVCR100.dll"]
}
}
setup(
options=options,
description = "this is a py2exe test",
zipfile=None,
console = [{"script":'test.py'}] #这是打包文件的名字.py
)
# options = {
# "py2exe":
# {
# "compressed": 1, # 0或1,1压缩,0不压缩
# "optimize": 2, # 0、1、2,文件的优化级别
# "bundle_files": 1, # 1、2、3,1表示所有文件打包成一个exe文件,2表示除了Python的解释器外都绑定,3表示不绑定
# "includes": INCLUDES, # 列表,包含其它的一些模块
# "dll_excludes": ['MSVCP90.dll'] # 列表,包含的dll文件不会打包进exe程序
# }
# }
# setup(
# version='1.0.0',
# options=options,
# description="this is a test file",
# zipfile=None, # 公用文件的压缩文件名称,默认为“library.zip”;如果没有,则会将这些文件放在最终的exe文件中
# console=[{"script": 'base642.py'}] # 生成一个控制台形式的exe程序,对应的有windows=[],生成GUI形式的exe程序
# )
3-Nuitka
安装:
pip install -U nuitka
详细用法:
Python 打包工具 Nuitka 入门指南-CSDN博客
--standalone:方便移植到其他机器,不用再安装python
--show-memory--show-progress:展示整个安装的进度过程
--nofollow-imports:不编译代码中所有的import
--follow-import-to=utilssrc:需要编译成C++代码的指定的2个包含源码的文件夹,这里用来进行分隔。
--output-dir=out:指定输出的结果路径为out。
--windows-disable-console:运行exe取消弹框。
-mingw64 #默认为已经安装的vs2017去编译,否则就按指定的比如mingw(官方建议)
--standalone独立环境,这是必须的(否则拷给别人无法使用)
--windows-disable-console没有CMD控制窗口
--output-dir=out生成exe到out文件夹下面去
--show-progress显示编译的进度,很直观
--show-memory显示内存的占用
打包:
正常用法:
nuitka test.py
---->test.exe 等等