一、pyinstaller是什么?
PyInstaller 是一个用来将 Python 程序打包成一个独立可执行软件包,支持 Windows、Linux 和 Mac OS X。
PyInstaller 可以读取您编写的 Python 脚本。它分析您的代码以发现脚本执行所需的所有其他模块和库。然后,它将收集所有这些文件的副本-包括活动的 Python 解释器!-并将其与脚本一起放在单个文件夹中,或者可选地在单个可执行文件中。
PyInstaller已针对Windows,Mac OS X和GNU / Linux进行了测试。但是,它不是交叉编译器:要制作Windows应用程序,请在Windows中运行PyInstaller。要创建GNU / Linux应用程序,请在GNU / Linux等环境中运行它。PyInstaller已成功与AIX,Solaris,FreeBSD和OpenBSD结合使用,但未在持续集成测试中针对它们进行测试。
二、使用步骤
1.引入库
pip install pyinstaller
2.简单用法
进入到项目的根目录下
代码如下(示例):
pyinstaller main.py
这是最简单的命令用法,使用pyinstaller进行打包会生成两个文件夹,build 和 dist ,其中 build 只是临时文件,可以不要的,真正需要的在dist文件夹里面,默认将程序打包为文件夹的形式存在,可执行的文件dist/main/main
在打包的同时会生成一个main.spec的文件,此文件可以对打包进行进一步的修改,比如说打包的时候携带上静态资源,设置应用图标等,当然这些修改可以在命令中带上,后续我会对spec文件修改进一步的详解。
pyinstaller 命令参数有如下:
-F,-onefile dist中产生单个的可执行文件
pyinstaller -F demo.py
-D,–onedir 产生一个目录(包含多个文件)作为可执行程序,此为默认
pyinstaller -D demo.py
-a,–ascii 不包含 Unicode 字符集支持
-d,–debug 产生 debug 版本的可执行文件
-w,–windowed,–noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
pyinstaller -w demo.py
-c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效)
pyinstaller -c demo.py
-o DIR,–out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,–path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
pyinstaller -p E:\python\Lib\site-packages demo.py
-i 图标.ico 指定程序的图标
-n NAME,–name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
总结
此篇文章作为开端,这是打包的第一篇文章,后续会继续完善后面的内容,从简单的打包,附带静态资源,更改图标,打包成安装包的形式以及程序的更新等。