python打包exe之pyinstaller用法

pyinstaller可以将python写好的脚本打包成exe文件,方便windows用户在没有python环境下运行。这个程序完全跨平台,包括Windows、Linux、Mac OS X等多个操作系统下运行。因为我用的是win7,以下直接使用windows打包讲解,不同平台上使用 PyInstaller方法是一样的,它们支持的选项也是一样的。

安装Pyinstaller

Python默认不包含Pyinstaller模块,因此需要自行安装

与安装其它Python模块一样,使用pip命令安装即可,一条搞定:

pip install pyinstaller

python打包exe之pyinstaller用法

运行上面命令,可以看到如下输出结果,表示成功:

> Successfully installed altgraph-0.17 pefile-2021.5.24 pyinstaller-4.5.1 pyinstaller....

使用Pyinstaller

Pyinstaller 工具使用的命令语法如下:

> pyinstaller 选项 python源文件

实际工作中常用的命令也就几条:

## -D(默认选项),生成build、dist目录,该选项生成一个目录(包含多个文件)来作为程序
pyinstall -D app.py

## 使用-F选项,在dist目录下生成单独的EXE文件(在Mac生成的文件没有exe后缀)
pyinstaller -F app.py

## -w不显示GUI窗口,-i指定图标
pyinstaller -F -w -i app.ico app.py

如果想给软件添加自己喜欢的图标,这里推荐以下方式

https://www.iconfont.cn/                ####免费的在线icon图标网站
http://www.favicon-icon-generator.com/  ###免费在线生成1
http://www.ico51.cn/                    ####免费在线生成2

常用参数说明

-h,–help 查看该模块的帮助信息

-F,-onefile 产生单个的可执行文件 -D,–onedir 产生一个目录(包含多个文件)作为可执行程序 -a,–ascii 不包含 Unicode 字符集支持 -d,–debug 产生 debug 版本的可执行文件 -w,–windowed,–noconsolc 指定程序运行时不显示命令行窗口(仅对 Windows 有效) -c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效) -o DIR,–out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件 -p DIR,–path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径 -n NAME,–name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

> 以上只是Pyinstaller模块所支持的常用选项,如需了解更多可通过pyinstaller -h来查看。

实践一下

这里简单写一个demo,我们来进行打包测试

为了不让界面执行完立即退出,使用input()让界面暂时停留

print("钢铁侠的知识库")
input()

使用命令进行打包:

> pyinstaller -F test.py

python打包exe之pyinstaller用法

打包成功后会在dist下找到test.exe文件,执行即可看到

python打包exe之pyinstaller用法

以上即表示打包成功。

Original: https://www.cnblogs.com/jiba/p/15113068.html
Author: 钢铁侠的知识库
Title: python打包exe之pyinstaller用法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/601426/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 一个jsqlparse+git做的小工具帮我节省时间摸鱼

    背景 前些时间做了个小工具解决了团队内数据库脚本检验&多测试环境自动执行的问题,感觉挺有意思,在这跟大家分享一下。 工具诞生之前的流程是这样: 1.开发人员先在开发环境编写…

    Python 2023年10月14日
    026
  • ROS2时间同步(python)

    最近1周一直研究ROS2的时间同步,翻越很多博客,很少有人使用ROS2进行时间同步的代码,无奈不断尝试与源码阅读,终于将其搞定, 为此,本博客将介绍基于python的ROS2的时间…

    Python 2023年10月28日
    019
  • 如何从DataFrame中选择一列数据

    查看数据 import pandas as pd movie= pd.read_csv(‘movie.csv’) movie.head() RankTitleGenreDescri…

    Python 2023年8月21日
    075
  • pycharm+pygame基于剪枝技术的一字棋博弈系统

    关于包的安装(在terminal端口执行如下命令):pip install pygame。若出现异常参考–>Pygame安装教程pip install numpy…

    Python 2023年9月23日
    045
  • 使用python和flask建个人博客—ubuntu及python环境的配置

    一、服务器的配置 1. 购买服务器、安装ubuntu 我购买了一个2核4G的腾讯云服务器,然后装了ubuntu20.04服务器版本.服务器版本是没有桌面的,操作很不方便,需要安装一…

    Python 2023年8月15日
    065
  • http网页状态码大全查询

    http网页状态码,是诸多站长经常接触到的东西,所谓的HTTP状态码,它是浏览器传输协议所响应的一种代码状态,不同的代码状态,反应了网页目前处于的状态,根据不同的状态码,可以判断出…

    Python 2023年6月11日
    0120
  • YOLOV5-断点训练/继续训练

    YOLOV5-断点训练/继续训练 情况:1.训练过程中中断了,继续训练2.训练完了,但是未收敛,在这个基础上,还想用这个权重、学习率等参数继续训练多一些批次 1. 训练过程中中断了…

    Python 2023年8月2日
    074
  • Vue快速上门(3)-组件与复用

    VUE家族系列: Vue快速上门(1)-基础知识 Vue快速上门(2)-模板语法 Vue快速上门(3)-组件与复用 01、component组件 1.1、component基础知识…

    Python 2023年10月12日
    034
  • pytest学习(二)

    1.pytest-html报告 安装:pip install pytest-html==2.1.1 运行:pytest 文件名 –html=路径/文件名称 2.pyte…

    Python 2023年9月14日
    054
  • # BUGKU Simple_SSTI_1-2

    BUGKU Simple_SSTI_1 提示需要传一个flag参数,Flask 是一个微型的 Python 开发的 Web 框架,由上可知flag在secret_key下,conf…

    Python 2023年8月12日
    035
  • redis操作

    关系型数据库: MySQL MySQL的缺陷: 1. 读取的时候相对较快, 但是写入数据是比较慢的, 读取速度是1w/s. 写入速度: 1000/s。 2. 读写时容易混淆,会读取…

    Python 2023年8月6日
    039
  • 又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧

    【阅读全文】 后唐李煜曾说道,樱花落尽春将困,秋千架下归时。漏暗斜月迟迟,花在枝。樱花落尽的时候春天也将过去了,秋千架下归去时。天上的斜月姗姗来迟,花还在枝头。 关于python画…

    Python 2023年11月3日
    041
  • python_pytest_allure_jenkins 笔记

    文章目录 前言 * python_pytest_allure_jenkins 1 部署Jenkins * 1.1安装Jenkins 1.2 修改Jenkins配置文件 1.3 修改…

    Python 2023年9月12日
    045
  • python requests.post发送文件timeout超时解决办法

    自动化测试的项目中有一个功能是服务器需要向客户端发送一个超过1G的文件, 使用request.post来发送文件, 但是如果设置了timeout的参数,很可能会引发”r…

    Python 2023年8月2日
    0338
  • RV1126笔记十四:吸烟行为检测及部署<二>

    若该文为原创文章,转载请注明原文出处。 PC下yolov5环境搭建 我使用的训练环境是 Windows10+MiniConda 接下来记录搭建全过程 备注:条件允许就使用ubunt…

    Python 2023年9月29日
    034
  • [flask-restful]利用reqparse解析嵌套字典结构

    文章目录 Flask-Restful解析请求中嵌套字典结构 * reqparse使用简介 实现思路 – 1. 嵌套解析类实现 2. 封装传入的字典 3. 错误处理 封装…

    Python 2023年8月11日
    038
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球