Python打包exe 有挺多可以用的 如pyinstaller py2exe cx_Freeze nuitka py2app py0xidizer
cx_Freeze和nuitka没用过 py2app是打包Mac程序的 py0xidizer是打包嵌入式的 占用空间少 感兴趣可以自行了解 这篇文章记录一下pyinstaller和py2exe的用法 以便以后查找
注:以下都是windows下 linux应该差别不大
pyinstaller
安装:pip installer pyinstaller
用法:打开cmd 切换到你的python安装目录里的Script目录 输 pyinstaller [参数] [参数] 要打包的文件 回车
示例 pyinstaller -F shili.py 或者把目录添加到环境变量 就可以随时随地执行了
添加环境变量:win10下:右键此电脑>属性>高级设置>环境变量>下方框里有一个path 点击然后编辑 把你的目录添加进去 然后一路确定回来 推荐直接复制粘贴 手动输容易输错
参数可以参考 PyInstaller各参数含义_pyinstaller 参数_张栈不全的博客-CSDN博客很全
总结常用的几个
-D :生成出来是一个文件夹 里面包含各种依赖的库和资源 还有exe 默认是这个
-F:生成一个exe文件 所有资源都打包在exe里
-n:生成出来exe和.spec文件的名字 默认是你脚本的名字
-i:exe的图标
-c:生成出来的exe文件打开有cmd窗口
-w:隐藏命令行窗口
--exclude-module:排除不需要的库 可以减少文件的大小
打包出来后执行可能会有一闪而过的场景 可以在cmd里执行 会有错误信息 方便排错
py2exe:官网:py2exe.org
安装:pip install py2exe
用法:需要先写一个py文件 内容是生成时的各种配置
示例:这里需要把你的python目录添加到环境变量
setup.py:
from distutils.core import setup #这里vscode会有波浪线提示 这个问题当时快速修复了 没看清是什么原因 这里推荐用vscode 其他编辑器可能编辑出来 打包会出错 指向distutils 可以快速修复 import py2exe INCLUDES = [] setup( zipfile=None, console = [{"script":'clipboard.py'}]) #要编译的文件
options = { "py2exe" : { "compressed" : 1, # 压缩 "optimize" : 2, "bundle_files" : 1, # 所有文件打包成一个 exe 文件 "includes" : INCLUDES, } })
常用参数
setup
: py2exe的核心函数,用于配置打包参数并运行打包过程。
windows
: 用于打包带界面的程序
console
: 用于打包命令行程序
options
: 用于指定各种打包选项,如生成zip文件、排除哪些模块等。
zipfile
: 用于把程序需要的dll等文件打包zip 默认打包 设置none则把这些文件打包进exe
excludes
: 用于排除不需要的python模块。
includes
: 用于强制包含某些python模块。
packages
: 用于自动包含某些python包。
dist_dir
: 指定输出目录。
dll_excludes
: 用于排除某些不需要的dll文件。
options里:
bundle_files
: 指定打包的文件类型,0为分离的exe和dll,1为所有文件打包成单个exe中。
compressed:是否压缩
写好setup.py后 放到要编译的文件同目录下
然后打开cmd 切换到setup.py的目录 执行 python setup.py py2exe 就可以了 打包后的文件在同目录下的dist文件夹里
遇到的坑
配置文件名必须是setup
一直打不进pyqt5等其他包 这个以后再研究吧
标签:文件,exe,pyinstaller,py2exe,python,打包 From: https://www.cnblogs.com/mltooo/p/17513725.html