Python PyInstaller安装和使用教程

Python PyInstaller安装和使用教程(详解版)

安装 PyInstalle
Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块。

安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装即可。在命令行输入如下命令:

pip install pyinstaller

强烈建议使用 pip 在线安装的方式来安装 PyInstaller 模块,不要使用离线包的方式来安装,因为 PyInstaller 模块还依赖其他模块,pip 在安装 PyInstaller 模块时会先安装它的依赖模块。

运行上面命令,应该看到如下输出结果:

Successfully installed pyinstaller-x.x.x

其中的 x.x.x 代表 PyInstaller 的版本。

在 PyInstaller 模块安装成功之后,在 Python 的安装目录下的 Scripts(D:\Python\Python36\Scripts) 目录下会增加一个 pyinstaller.exe 程序,接下来就可以使用该工具将 Python 程序生成 EXE 程序了。
PyInstaller生成可执行程序的命令语法如下:

pyinstaller -F -w xxx.py

栗子:【以windows 为例子】
在D:\mywork\app 是我们写的app.py代码文件
命令行执行:在这里插入代码片

cd D:\mywork\app
pyinstaller -F -w app.py

在上面命令中使用了-F 选项,该选项指定生成单独的 EXE 文件,因此,在 dist 目录下生成了一个单独的 app.exe 文件(在 Mac OS X 平台上生成的文件就叫 app,没有后缀);与 -F 选项对应的是 -D 选项(默认选项),该选项指定生成一个目录(包含多个文件)来作为程序。

PyInstaller 不仅支持 -F、-D 选项,而且也支持如表 1 所示的常用选项。

表 1 PyInstaller 支持的常用选项

-h,--help	查看该模块的帮助信息
-F,-onefile	产生单个的可执行文件
-D,--onedir	产生一个目录(包含多个文件)作为可执行程序
-a,--ascii	不包含 Unicode 字符集支持
-d,--debug	产生 debug 版本的可执行文件
-w,--windowed,--noconsolc	指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,--nowindowed,--console	指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,--out=DIR	指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,--path=DIR	设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,--name=NAME	指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字
-i 指定应用的图标,后面可选(.ico文件),(exe文件,ID),从exe中提取ID为的图标。(文件.icns):将图标应用于Mac OS X上的.app捆绑包
--add-data 添加数据文件,【这个下面详细介绍】

如果我的程序用到一些图片文件或其他说明文件,png,txt,html…
还是D:\mywork\app这个文件夹,app文件夹下有个icons文件夹,包含着我需要用到的图片文件,1.png,2.png…
我需要打包的时候把这个文件夹也打包进去那么久用到下面的命令

pyinstaller -w --add-data icons/*.png;aaa app.py

注意 这里面没有-F了!,单文件的模式不会打包数据文件,这个是为什么我也不清楚,没有找到相关文档,如果你就硬皮,就想用-F 我这边建议你把资源文件复制到打包后的目录下

这里在讲一下–add-data后面的参数是什么意思,这个分号;前面是文件路径,后面是我打包后的根目录下的文件夹名。上面的这行命令会把icons下的所有png文件打包到打包目录下的aaa文件夹下。
linux/mac下这个分号应该是冒号:。这个我没有试过!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值