python文件打包成exe(pyinstaller)

发布时间 2023-09-21 09:29:29作者: Rong_Z

参数说明

-F, –onefile | 打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用
-D, –onedir | 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码
-w, –windowed,–noconsole | 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-i, <FILE.ICO> | 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 
-n, –name=NAME | 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec及可执行文件的名字

打包步骤

注:以下操作无特殊说明,均在虚拟环境下进行

1、先创建python虚拟环境(略)
2、激活虚拟环境

# 运行虚拟环境目录下的activate.bat即可激活
D:\>"d:Program File\Python Virautlenv\pwd_encrypt\Scripts\activate"
(pwd_encrypt) D:\>

3、安装好py文件中用到的库及打包所需的pyinstaller库(略)
4、将自己要打包的py文件、icon文件等,放在一个单独的目录中。如下案例,我的单独目录是“密码加密”,放置在桌面上
5、cd到上述的目录中

(pwd_encrypt) D:\>c:
(pwd_encrypt) C:\Users\xxxx>cd Desktop\密码加密

6、打包

  • 6.1、将整体打包成一个exe文件,没有其他配置的情况
# pyinstaller -F -w -i icon文件名 -n 打包后的exe名称(不加后缀名) 需要打包的py文件
(pwd_encrypt) C:\Users\xxxx\Desktop\密码加密>pyinstaller -F -w -i icon文件名 -n 密码加密 encrypt_tool.py

执行上述命令后,会生成builddist目录及一些其他文件,进入dist,有个.exe的文件,即最后的可执行文件,该文件可拷贝至任意windows电脑运行

  • 6.2、带有配置文件的exe程序

6.2.1、先打包py文件,生成5.1中提到的相关目录

(pwd_encrypt) C:\Users\xxxx\Desktop\密码加密>pyinstaller -w -i icon文件名 -n 密码加密 encrypt_tool.py

6.2.2、编辑以.spec结尾的文件,在打包过程中会打印该文件的路径(如:115 INFO: wrote C:\Users\rongge\Desktop\密码加密\密码加密小工具.spec)。修改datas=[],加入自己配置文件的文件名及路径,如,我的配置文件就在打包的目录中,可以直接写成datas=[(‘data.ini’,’.’)],更改后保存关闭该文件
6.2.3、对修改后的.spec文件打包

(pwd_encrypt) C:\Users\rongge\Desktop\密码加密>pyinstaller -F 密码加密小工具.spec

打包过程中会有覆盖提示,输入y即可。打包完成后,会在dist\密码加密小工具目录下生成data.ini配置文件
6.2.4、双击运行.exe.文件后,程序会自动读取配置。分享给他人时,只需要复制密码加密小工具目录就可以。