前言
不知道大家在作为python程序后,是不是都通过PyInstaller打包给用户使用呢?但是通过PyInstaller打包会出现一点小小的问题,本文章就来教你如何去解决这些问题
让打包后显示出控制台窗口
在打包的时候,不用加上-w让窗口消失,直接-D(注意:这里用-F可能解决不了哦)
可能对于有些人会有点懵,我来写一下代码,我们经常打包的时候不是调出CMD吗?
然后输入PyInstaller -F -w xxx.py
,这里,我们就把-F
改为-D
再 -w
去掉,就变成了PyInstaller -D xxx.py
,通过这句话去打包,接着在dist文件夹里就会出现一堆辅助文件
查看报错指令
按常理来说,我们没有让控制台窗口消失,所以报的一切错误,都会在控制台上输出,可是打包成exe后,一报错就会立即关闭,这时候,我们的录屏软件就派上用场了,拿出我们的录屏软件,按开始后打开我们的exe,不要让控制台窗口被遮挡,这时候,错误一出现,窗口已关闭,再那瞬间,录屏软件就会帮我们抓到错误指令,接着,不用说,也就知道了,一帧一帧的找刚刚拍摄下来的指令
解决
解决的方法有很多种,我这给大家写了两种,如果说还是解决不了问题的话,请自行搜索!
一.
大家仔细看看这张图片,抓一下重点
这个很简单,顾名思义就是你没有把某一些必要的文件放入软件根目录,所以把这些所需要的文件放置好就可以了
我这个错误,就是漏了将我的软件的ttf字体文件放进去,软件程序源码里要求文件放哪,我就把他放哪就好了
二.
首先,同样抓重点,,看报错的代码,如果报了一行代码的错误,而通过编译软件去运行的话,是没问题,这样的话,大致都是模块没导入成功的问题
例如说,我的exe报了这一行的错误
aaa.xxx("88888")
那你可以去python的根目录,点开
往下拉,接着点开
接着你找到你报错那行运用到的模块
例如我是
aaa.xxx("88888")
报错的,就找到aaa的这个模块的目录,复制他,回到我们打包的exe的根目录,替换掉/粘贴,再尝试一下看一下能不能运行
我总结出来的报错解决方法就这些了,希望你能早日解决问题!祝你好运!