关于python使用pyinstaller打包成exe文件全过程及遇到的问题解决

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/A_Ainley/article/details/99554848

这篇文章来讲一下python中将python脚本文件打包成exe可执行文件的一种方法——pyinstaller

当你的python程序写完之后,要运行出来的话是需要电脑上装有python程序的,但是,如果你想让自己的程序在别人的电脑上运行,而恰巧,别人的电脑上又没有装python程序,怎么办呢?这时候就需要将你的python脚本文件打包成exe可执行文件,这时候你的程序就可以在别人的电脑上运行了。当然,pyinstaller的打包结果是无法跨平台编译的,也就是说,你在Windows平台下进行打包,打包成的exe文件就只能在Windows平台下运行。

接下来我就介绍一下打包的全过程以及我在这其中遇到的问题

  • 基础准备工作
    基础准备工作就是安装python,以及安装pip,这都是最基础最基础的了。我相信如果你没有安装上这些,你应该也不会搜索到这篇文章。如果你看到了这篇文章,但是却不幸的没有安装上python与pip,我的建议是,打开浏览器,搜索python安装、pip安装…

  • 安装pyinstaller
    pyinstaller是python的一个第三方库,所以你要使用它,首先需要安装它,网上有些说法是,直接使用pip install pyinstaller我试过这个,但是我这样使用的时候,它会报错,总之就是下载安装不成功,之后我就上网搜索解决方案,知道了在安装pyinstaller之前,需要 先安装PyWin32,我就又使用pip install pywin32去安装,第一次失败了,第二次失败了,就在我快要放弃的时候,第三次,它竟然安装成功了,我也不懂是什么原因,反正就是安装成功了。之后我想着这回应该差不多了吧,就去用上面的方法继续安装pyinstaller,就当我满怀信心去安装的时候,它又失败了……人生真的就是起起落落落落落……
    但是不能这样就不解决问题了,既然我在学东西我就要有耐心,所以我又去上网搜索解决方法,这次得到的结果是,直接上官网下载安装包,然后本地安装。好,我就再信你一回,所以我就上Pypi官网去下载,进入官网搜索pyinstaller,我选择了最新的版本去下载,下载下来之后,就进入了安装流程。
    下载下来的是一个压缩包,解压缩之后把他放到你一会需要用到的那个目录下面,进入命令行模式,使用 cd 命令转到当前目录(就是你解压缩之后文件夹的目录),再进入该文件夹,文件夹中有一个setup.py文件。此时,在命令行模式下输入python setup.py bulid 运行成功之后,再输入python setup.py install 运行成功之后,你的pyinstaller就可以使用了!
    也许你在使用过程中会遇到我没有遇到的问题,毕竟这东西,不同版本之间,不同电脑运行,就有可能出现不同的结果,如果帮不到你,我只能说一声抱歉。

  • 使用pyinstaller
    pyinstaller的使用网上有很多的教程,我也是通过网上的教程来进行学习的。它有很多不同的模式,我就来讲一下我认为会用到的,或者说,用到的比较多的模式 -F -w -i 这三种模式。

  • -F模式:只创建一个单独的可执行文件(否则会生成很多依赖文件),使用:pyinstaller -F py.py

  • -w模式:不产生命令行,也就是说运行之后不弹出那个黑框子,如果你使用的是图形界面的程序可以添加此选项,使用:pyinstaller -w py.py

  • -i模式:为程序指定一个图标,需要跟上图标的路径,使用:pyinstaller py.py -i icon.ico
    注意这里的图标文件只能是ico格式图片,而且对于图片的大小都是有要求的,具体的我也不明白,反正我在图标这一步的时候,出现的问题很多,我来说一下我在这一块遇到的问题吧。
    刚开始,我知道要用ico格式的图片,我就直接把我的png或者jpg格式的图片后缀名改了,改成了ico,运行之后出错,出错了之后我上网查了一下发现除了bmp格式的图片可以直接改后缀成ico之外,其他的都不可以直接改,需要经过一系列的操作,这个之前还没有了解过呢,学到一个新东西。
    所以之后我就将我电脑上的一个bmp格式的图片改后缀之后运行,又出错了,当然这次的错误跟之前的不一样,具体的错误名称我就不说了,感兴趣的话你可以自己试一试……说回来,那又出了错误我自然要去解决,所以我又上网去搜解决方案,然后知道想作为图标图片不能太大,一般我们自己的图片,都是1920X1080,但是作为图标可不能这么大,一般的图标32X32就行了,所以我就改成了32X32的图片大小,果然,运行成功了!
    可是,好景不长,运行虽然成功了,但是结果让我很失望!!!图标确实是变了,不是之前那种丑丑的默认图标,可是也不是我的那个图片呀,还是一个怪怪的类似系统图标的一种图标,那咋办,那我就继续找原因啊,不搜不知道,一搜吓一跳,原来大家很多人都遇到过这样的问题,我找呀找,终于在一个嘎达里面找到了一个让自己满意的答案,他说,是因为当你查看文件管理系统里面的图标的时候,是可以改变大小的,所以当你设置图标时,也应该弄好几个ico文件才可以(你看得懂吗,反正我是看不懂,大概的意思就是,你一张图片不行,得好几张才可以,才能显示……)算了吧,我不弄了!所以到现在这个问题我还没有解决,并且我不想弄了,我觉得影响不大…如果你解决了这个问题,欢迎评论区给我留言啊!!!

另外,我说的这三种模式你可以混合在一起用的,不会冲突,你可以两个一起用,或者三个一起用,都是没有问题的,比如:pyinstaller -F -w py.py -i ico.ico这样子是没有问题的。

到了这一步之后,你的exe可执行文件已经生成了,它在哪里呢?在你运行的那个目录下面,会多出来一个文件夹,名字叫“dist”,你的exe可执行文件就在里面。不过我发现一个问题,就是我的电脑上运行这个exe文件速度特别慢,就是说我双击之后,挺久才会跳出程序的执行结果,也不知道是python程序的原因还是我电脑太菜了…因为我知道python的一个小缺点就是运行速度慢,不然我可以百分百确定是我的电脑太菜,我嫌弃他已经不是一天两天了!!

嗯…好了,到这里就结束了,希望你有所收获!

猜你喜欢

转载自blog.csdn.net/A_Ainley/article/details/99554848