![python脚本打包成exe](https://www.shaowenhao.com/wp-content/themes/VINCENT/image/default.png)
一、安装pyinstaller
PS:可以考虑使用pip安装,即直接在cmd中敲上pip install pyinstaller,但是有时环境会在打包时提示不是可执行的命令,则可以使用下面手动安装
1.到官网http://www.pyinstaller.org/downloads.html下载pyinstaller的最新安装包
![](https://pic4.zhimg.com/50/v2-ad585729bd7ae799ada38f752625e344_hd.jpg?source=1940ef5c)
2.解压步骤1中下载好的压缩文件,cd 命令进入解压后的文件夹中,运行>>python setup.py install ,等待pyinstaller 安装完成了
3.虽然已经按照完成,但是还需要修改配置文件。运行cmd,输入echo %PATH%,找到Python的路径(如果你是直接安装python的话,请自行找到对应的路径,例如C:\Users\51582\Python\Python38-32)
![](https://pic2.zhimg.com/50/v2-fc6bee857e4915cbdcf0fb159dec6978_hd.jpg?source=1940ef5c)
4找到该路径下的Lib文件夹中的subprocess.py文件,将init()函数中的shell=Ture更改为shell=False。
![](https://pic4.zhimg.com/50/v2-798b231943e72505dfd6137ec86cd42d_hd.jpg?source=1940ef5c)
二打包程序:
1.先编写好需要打包的脚本,我们编写一个测试脚本( 新建一个txt文件,内容为‘1234’):
file = open(‘new.txt’,’w’)
file.write(‘1234’)
file.close()
print(‘Done’)
2.cmd切换到需要打包脚本的目录,执行命令: pyinstaller -F test.py
注:为了保证程序可以正常运行,pyinstaller会自动打包脚本中需要的依赖包,因此脚本中依赖包比较多的话,需要耗时较长
![](https://pic4.zhimg.com/50/v2-8a7f442d313a2dc20f0a59334129f6c9_hd.jpg?source=1940ef5c)
这里介绍几个常用命令:
-D, –onedir 最终创建一个目录,包含exe文件和依赖文件,默认选项;
-F, –onefile 最终创建一个exe文件,所有依赖文件都打包进了exe文件中,虽然exe文件会比较大,但是更方便日常使用;
-c, –console, –nowindowed 有控制台,即点击exe后会弹出命令行窗口,默认选项;
-w, –windowed, –noconsole 无控制台,即点击exe后不会弹出命令行窗口;
-p,一般不需要,但是如果出现部分自己开发的代码引入的包,可以通过这个参数手动引入
3.执行命令后,会生产多个文件夹,而我们生成的exe程序就在dist文件夹里面
![](https://pic4.zhimg.com/50/v2-092a133d93ad63ae54024b0a934e474a_hd.jpg?source=1940ef5c)
4.双击exe文件,运行成功后可以看到文件夹中多了一个新的txt文件
![](https://pic2.zhimg.com/50/v2-0fc9f721bc112bf0985260829a322385_hd.jpg?source=1940ef5c)
5.另外,如果需要自定义图标,可以加上-i参数,把需要自定义的图标放到与脚本同一文件夹下即可,如我想添加的图标为1.ico
则执行命令:
pyinstaller -F -w -i 1.ico test.py
ps:图标仅支持.ico,其他格式的图片请进行转换,可以通过网站:https://jinaconvert.com/cn/convert-to-ico.php
然后就生成了新的可执行文件了: