Python升级之路( Lv13 ) pyinstaller 使用详解

Python系列文章目录

第一章 Python 入门
第二章 Python基本概念
第三章 序列
第四章 控制语句
第五章 函数
第六章 面向对象基础
第七章 面向对象深入
第八章 异常机制
第九章 文件操作
第十章 模块
第十一章 GUI图形界面编程
第十二章 pygame游戏开发基础
第十三章 pyinstaller 使用详解

前言

本章主要对 pyinstaller 的安装, 使用和打包方式做了详细的探究

什么是 pyinstaller

pyinstaller 是Python 提供的一个第三方拓展库模块. 它的功能是将我们的 Python 程序打包成可执行的 .exe 程序

安装

方式一 pycharm安装

  1. 安装 pyinstaller 模块 在 pycharm 中操作:file-->setting-->Project:xxx -->Project interpretor,再点击(加号)
    在这里插入图片描述

  2. 在新弹窗中输入要下载的第三方模块, 然后点击该模块, 最后点击左下角安装即可
    在这里插入图片描述

方式二 命令行安装

命令行安装: 在命令行输入一下命令进行安装

pip install pyinstaller

使用

基本使用

最基本的使用方式:

pyinstaller  xxx.py

注意: 后面可以跟多个python文件, 但注意用空格隔开

参数介绍

pyinstall 打包时, 可以跟各种参数, 这些参数用来拓展打包时需要的定制需求

常用参数如下表所示:

参数名 作用
-F / --onefile 打包一个成单个文件, 多个.py文件或者需要打包其他资源(图片,音频) 不要使用
-D / --onedir 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码
-w / –windowed/–noconsole 程序启动的时候不会打开命令行 (只对Windows有效, 编写GUI程序时使用此参数有用)
-i /–icon 指定打包之后的.exe文件的图标
-n / –name=NAME 指定打包之后的.exe 文件的名称
-v FILE /–version=FILE 指定打包之后的.exe 文件的版本信息. FILE: 版本信息描述文件编写请点击查看
-a/--ascii 不包含 Unicode 字符集支持
-d/--debug 产生 debug 版本的可执行文件
-c /--console/ --nowindowed 使用命令行执行(此参数默认开启)
-v / --version 查看当前pyinstaller版本
--add-data <源目录;目标目录or源目录:目标目录> 将源目录文件额外打包到.exe程序所在目标目录. ; Windows下使用, :Linux下使用
-h/--help 查看该命令帮助信息

利用自带帮助文档进行学习

下载pyinstaller 之后, 可以输入pyinstaller -h 或者 pyinstaller --help , 来查看其自带的帮助文档

现在将比较重要介绍的截图下

在这里插入图片描述

在这里插入图片描述

打包

方式一 利用命令行打包

利用上面所学到的参数, 对文件进行打包

  1. 将文件打包成 xxx.exe

    pyinstaller -F xxx.py
    
  2. 将文件打包成 xxx.exe, 并且运行时不打开命令行(tkinter程序打包时使用)

    pyinstaller -F -w xxx.py
    
  3. 打包上一章坦克大战源码
    将源码打包成 坦克大战v1.0.1.exe 并且运行时不打开命令行,
    .\img\p1tankU.gif 设置为程序图标, 并将当前 .\img\ 目录下文件打包到 .exe程序运行所在目录, 且命名为 .\img\

    pyinstaller -w -D  -i .\img\p1tankU.gif   -n "坦克大战v1.0.1"   tank26.py --add-data ".\img\;.\img\"
    

方式二 利用图形界面打包

auto-py-to-exe 用于将Python程序打包成可执行文件的图形化工具
该工具的作用是将我们的在图形化界面点击的选项转换成方式一中的命令

  1. 安装方式 :pip install auto-py-to-exe

  2. 启动方式: 命令行输入 auto-py-to-exe

  3. 启动后, 我们只需要根据情况去选择, 然后点击底部蓝色按钮即可
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43371556/article/details/125642500