利用Pyinstaller进行python工程打包

本文将介绍利用Pyinstaller进行python工程打包,以Pycharm为例。
一、创建工程
打包时,最好创建虚拟环境项目(如下图所示 命名使用默认)。
在这里插入图片描述

创建好后在控制台输入pip -V,查看当前使用环境,需要显示到当前新建的虚拟环境中才可以(即下图所示情况为正确情况)。这里建议使用Pycharm2019后版本,在检查中发现2018版本好像会出现问题,无法直接到虚拟环境中。
在这里插入图片描述

之后,开始安装需要的库(包括打包所需的pyinstaller)

二、工程文件布局(这一步特别关键,很多奇怪报错都是这里没有弄好)
将要打包的文件,也就是主py文件放在第一层,其他模块的函数以下图形式依次整理好。
在这里插入图片描述

同时,需要将整个工程的工作环境设置到第一层目录下,即Main.py所在的目录下。(本示例中 工作路径应该设置为D:\College Courses\untitled)
在这里插入图片描述

三、试运行
文件编写好后,点击运行,看看能不能正常运行成功。如果不能成功,去检查原因,一般两点(代码编写错误、库安装不全)。
运行成功后,可以开始打包了。

四、打包
第一次打包,在工作环境下输入pyinstaller -F main.py(main.py是本案例中的主调用文件,具体依据项目实际情况而定)。
在这里插入图片描述

打包完成后,系统会自动生成build、dist文件夹和.spec文件。其中可执行文件main.exe会放在dist文件夹中。双击(这样出问题不会显示报错,调试时不建议)或者利用cmd进入控制台运行exe文件。如果能成功运行,表示打包成功;如果不能成功运行,会显示对应的错误。
一般常见错误有两种,①某py文件未找到,这个就是因为第二点工程文件布局没有做好。需要去核对文件存放路径。②某调用的库的模块找不到,则在.spec文件中的hiddenimport属性中添加对应的模块,如图所示:
在这里插入图片描述

如果连续几次打包发现缺少的模块都出自都一个库,比如这里都出自statmodels.tsa就可以先去网上查查,可能已经有人整理好了这个库打包需要添加的hiddenimport,以减少工作量,提高效率。
然后,在控制台输入 pyinstaller -F main.spec(注意这次变成了spec,当存在spec文件后,都使用.spec文件打包了。)
在这里插入图片描述

程序会再次打包,然后再去运行exe文件,查看是否打包成功。如有问题,按照报错去修改,一般报错是上述提及的两个方面。直至最终能运行出想要的结果,表示打包成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值