python随笔:用pyinstaller 将python代码打包成exe执行文件

    技术2025-06-02  42

    1.前言

    经过几个星期的努力,终于完成了一个PyQt5项目。但日常使用或给别人使用代码模式非常不便,所以就产生了把代码打包成exe执行文件的想法。

    2.pyinstaller 安装

    在命令行执行以下语句

    pip install pyinstaller

    3.pyinstaller常用命令


    -w       这个参数会让程序启动的时候不会打开命令行(只对Windows有效)

    -i        给程序加图标(.ico格式)例如:pyinstaller -i xxx.ico xxx.py。安利一个ico格式转换网站http://www.ico51.cn/

    -F      生成结果只是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内

    -n     设置生成的exe文件名称,中英文都可以。


    4.pyinstaller的使用

    4.1添加__init__.py文件

      首先,如果你的项目没有 __init__.py (是双下划线)文件的话,先在同目录下创建一个空白的__init__.py文件。虽然这个文件可能你没有用到,但这是惯例。根据别人说,以前没有__init__文件会出现一些神奇的错误。。。不过现在我没有遇到。

    4.2 第一次打包

    打包文件可能并不是一次就打包成功,(当然,一次打包成功最好),往往我们需要对打包的程序测试一些,所以我们第一次打包最好保留命令行窗口。

    我的打包命令如下

    pyinstaller -i D:\code_python\Pui1\images\favicon.ico mainUI_call.py

    成功打包会在目录下生成三个文件

    build,和xxx.spec 可以删除。

    上面的是生成单独的依赖文件,所以dist里的文件都不要删除。但如果你是想生成一个单独的 exe 文件的话,可以只保留dist里的exe文件就好。生成单独的exe文件会降低程序运行速度。大项目不推荐。

    我的生成单独exe命令如下:

    pyinstaller -F -i D:\code_python\Pui1\images\favicon.ico mainUI_call.py

    4.3 测试无误后再一次打包,去掉命令行窗口。

    打包命令在之前的加一个 -w 就可以

    pyinstaller -w -i D:\code_python\Pui1\images\favicon.ico mainUI_call.py

    生成一个exe文件同理。

     

    5.我的打包成功例子(我是在PyCharm 软件的终端命令行窗口打包的)

    显示红色框里文字表示打包成功,在dist目录下找到mainUI_.exe文件。一般名称不是很符合,可以改名。

    我把他改名再运行一下。

    成功出来界面了。万岁!!!!!!!

     

    Processed: 0.010, SQL: 9