Pyinstaller的简单安装使用

Pyinstaller是可以把Python工程打包成为exe的一个Python模块。网上教程有很多,但是我在使用的时候会遇到很多问题,进而搜索大量网页,非常麻烦。所以准备写一篇文章把我碰到的一些问题整合起来,这样的话免去去查找大量网站的烦恼。

1.如何安装Pyinstaller

最简单的方法就是打开Win+R输入cmd,打开cmd窗口输入

1
pip install pyinstaller

但是,

有的时候你安装好了Python,用pip安装的时候会出现这个问题:

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-17.png

这个就说明Python的环境变量没有配置好,需要配置下,这时候需要找到Python安装目录下的Scripts文件夹,像我的就是C:\Users\111\AppData\Local\Programs\Python\Python311\Scripts

确认文件夹下有没有pip.exe,如下图:

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-18.png

如果有的话,把文件夹路径复制下来,然后就去“环境变量”那里找到path变量,添加地址保存即可

配置完成后记得重新打开CMD安装窗

如何找到环境变量,请在这个帖子查看。

如果出现这个了,说明正在安装了

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-19.png

最后显示这个,就说明成功安装了

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-21-1024x64.png

如果出现这个了,说明要升级pip

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-20-1024x67.png

直接输入下面这个就可以了。

1
python -m pip install --upgrade pip

2.用Pyinstaller打包

Pyinstaller主要语法就是:Pyinstaller +指令+Python文件

下面就是些常用的指令:

-F,-onefile 产生单个的可执行文件
-D,–onedir 产生一个目录(包含多个文件)作为可执行程序
-a,–ascii 不包含 Unicode 字符集支持
-d,–debug 产生 debug 版本的可执行文件
-w,–windowed,–noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效)

上表来源

然后就可以在cmd窗口输入指令来打包了,打包的时候记得转到文件所在的文件夹

转到要打包的Python所在的文件夹,可以使用cd+空格+文件夹地址来实现

这样就说明打包成功了

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-24.png

其中这个

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-23.png

是最后exe文件输出的地址

还要这个

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-24.png

说明已经打包成为exe文件了

之后就可以使用了,不需要再搭建Python环境了

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-26.png

如果打包完成发现窗口一闪而过,可以试试在代码末尾加一个input()

像这样

https://xenolies-blog-images.oss-cn-hangzhou.aliyuncs.com/Pics/image-25.png

还有个缺少一些文件产生的问题,我自己重新打包的时候发现并没有碰到,测试了下发现无法复现,只好作罢。只记得那个要在Pyinstaller -F后面加一串来着。

3.日后谈

有些问题我当时使用的时候碰到了,现在没法复现,我自己也无法找到当时找的帖子了,有不少疏忽非常抱歉。(之后要是接着更新也说不定)

如有建议,欢迎留言,本人必洗耳恭听。

0%