一篇文章学会两种将python打包成exe的方式

作者:Python 技术 时间:2022-01-05 23:36:54 

前言

python 可以做网站应用,也可以做客户端应用。但是客户端应用需要运行 py 脚本,如果用户不懂 python 就是一件比较麻烦的事情。幸好 pyton 有第三方模块可以将脚本可以转成 exe 执行。

有些人可能要问了既然可以做成网站,为啥还要做成客户端的,直接部署到服务器给客户不就可以了吗?小编的回答是当然是为了追小姐姐呀。在公司给小姐姐写点 python 脚本打包成 exe 减轻上班的工作量。再弄出点 bug,一来二去不就会产生故事了?

python 上常见的打包方式目是通过 pyinstaller 来实现的。


pip install pyinstaller

上面安装比较慢,用下面的清华源飞快。


# 清华源
pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/

详细步骤

pyinstaller 是一个命令行工具,下面是详细步骤

1、cmd 切换到 python 文件的目录。

一篇文章学会两种将python打包成exe的方式

2、执行命令 pyinstaller -F -w -i python.ico watermark.py,

执行完毕会发现生成了 3 个文件夹

一篇文章学会两种将python打包成exe的方式

其中 dist 文件夹就有我们已经打包完成的 exe 文件。

一篇文章学会两种将python打包成exe的方式

3、双击 exe 就可以运行成功了。

详细参数

在上面的打包命令中,用到了好几个参数:-F,-W,-i,这些参数的含义如下面的表格:

参数用法
-F生成结果是一个 exe 文件,所有的第三方依赖、资源和代码均被打包进该 exe 内
-D生成结果是一个目录,各种第三方依赖、资源和 exe 同时存储在该目录(默认)
-a不包含unicode支持
-d执行生成的 exe 时,会输出一些log,有助于查错
-w不显示命令行窗口
-c显示命令行窗口(默认)
-p指定额外的 import 路径,类似于使用 python path
-i指定图标
-v显示版本号
-n生成的 .exe 的文件名

pyinstaller -F -w -i python.ico watermark.py 就表示 -F,打包只生成一个 exe 文件,-w,在运行程序的时候不打打开命令行的窗口,-i 就是打包带有自己设置的 ico 图标。

图形窗口打包

有些人可能感觉命令行打包还需要记忆各种参数的含义,有没有窗口化的打包方式,还别说,真有。auto-py-to-exe 一个将 pyinstaller 封装成为 GUI 窗口的模块。


pip install auto-py-to-exe -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装完成之后,在命令行输入 `` 打开打包窗口。

一篇文章学会两种将python打包成exe的方式

在窗口中主要有几个参数:

  1. Script Location:就是 python 脚本的路径

  2. Onefile (--onedir / --onefile):就是上面的 -D 和 -F 参数,生成单个 exe 文件或者生成一个文件夹

  3. Console Window (--console / --windowed):就是上面的 -w 和 -c 参数,表示在运行的时候是否出现命令行窗口

  4. ICON:就是 ico 图标的地址

设置完这几个参数之后,在下面的 Current Command 框就会显示 pyinstaller 命令。点击最后的按钮,生成 exe 文件。

一篇文章学会两种将python打包成exe的方式 

来源:https://blog.csdn.net/weixin_48923393/article/details/121092459

标签:python,打包,exe
0
投稿

猜你喜欢

  • Python实现动态二维码生成的示例代码

    2022-08-03 15:45:39
  • Python编程修改MP3文件名称的方法

    2021-10-26 07:56:36
  • Entity Framework Core生成列并跟踪列记录

    2023-07-01 07:06:46
  • 浅析SQL Server与Oracle数据库的区别

    2007-10-31 11:39:00
  • Python如何telnet到网络设备

    2023-11-20 09:47:45
  • Python 通过监听端口实现唯一脚本运行方式

    2022-02-04 07:40:44
  • CSS Frameworks的概念

    2008-01-23 18:41:00
  • Python实现多线程爬表情包详解

    2022-05-26 01:30:55
  • python实现自动重启本程序的方法

    2022-07-18 14:16:19
  • 利用numpy和pandas处理csv文件中的时间方法

    2023-01-21 09:44:56
  • uni-app网络请求、数据缓存实例详解

    2023-08-09 03:49:12
  • MySQL 学习总结 之 初步了解 InnoDB 存储引擎的架构设计

    2024-01-26 10:15:38
  • 前后端常见的几种鉴权方式(小结)

    2024-05-02 17:05:54
  • python+selenium 实现扫码免密登录示例代码

    2021-02-03 06:41:57
  • MySql数据库单表查询与多表连接查询效率对比

    2024-01-26 12:28:05
  • SQL Server SQL高级查询语句小结

    2024-01-27 00:58:52
  • Python的for和break循环结构中使用else语句的技巧

    2022-07-02 16:59:26
  • 三个动画函数,透明度渐变、位置移动、尺寸变化javascript源码

    2010-03-28 13:23:00
  • Mysql 文件配置解析

    2024-01-26 10:01:54
  • python GUI库图形界面开发之PyQt5线程类QThread详细使用方法

    2023-12-03 20:29:40
  • asp之家 网络编程 m.aspxhome.com