一篇文章学会两种将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 文件的目录。
2、执行命令 pyinstaller -F -w -i python.ico watermark.py,
执行完毕会发现生成了 3 个文件夹
其中 dist 文件夹就有我们已经打包完成的 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/
安装完成之后,在命令行输入 `` 打开打包窗口。
在窗口中主要有几个参数:
Script Location:就是 python 脚本的路径
Onefile (--onedir / --onefile):就是上面的 -D 和 -F 参数,生成单个 exe 文件或者生成一个文件夹
Console Window (--console / --windowed):就是上面的 -w 和 -c 参数,表示在运行的时候是否出现命令行窗口
ICON:就是 ico 图标的地址
设置完这几个参数之后,在下面的 Current Command 框就会显示 pyinstaller 命令。点击最后的按钮,生成 exe 文件。
来源:https://blog.csdn.net/weixin_48923393/article/details/121092459
猜你喜欢
- 一、组件设计组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式现在有一个场景,点击新增与编辑都弹框出来进行填写,
- python中的class_static的@classmethod的使用 classmethod的使用,主要针对的是类而不是对象,在定义类的
- 在django中创建表,会自动创建一些django自带的表,先了解用户认证,认证登录 先要引用 ,from django.contrib i
- 添加配置这里跟我们之前所说的appium测试工具的配置差不多。deviceName:设备名称platformName:测试平台platfor
- 需求问题在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式。在模板返回视图的方
- 说下防止PHPDDOS发包的方法 if (eregi("ddos-udp",$read)) { fputs($verbi
- 本文实例讲述了php查找指定目录下指定大小文件的方法。分享给大家供大家参考。具体实现方法如下:php查找文件大小的原理是遍历目录然后再利用f
- 本文实例讲述了python简单程序读取串口信息的方法。分享给大家供大家参考。具体分析如下:这段代码需要调用serial模块,通过while循
- python压缩和解压缩模块之zlib由于早期的zlib和Python之间不兼容,故推荐1.1.4以后的版本。导入zlib后可以查看版本号&
- 前言ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。随着框架代码量的增加,一些潜在的威胁也逐渐暴
- 有时候网站会收到一些投稿文章,或者也会转载别人的文章,新创建一个用户又有些麻烦,但在作者名称那里显示自己的名字,总不是那么和谐。今天倡萌推荐
- 反射什么是反射? - 反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省) 面向对象中的反射&nb
- 一、安装首先我们需要安装下pyecharts,通过pip指令直接安装即可。pip install pyecharts安装完成后, 可通过pi
- 今天我们继续向大家介绍一款翻页效果的制作。当鼠标移动到链接上时,翻页的链接区除了有悬停效果,还会放大。这样的效果具有很强烈的效果。大家适当美
- Xml_javascript分页实例:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.
- 本文实例讲述了Python删除windows垃圾文件的方法。分享给大家供大家参考。具体如下:#coding:utf-8import os#f
- 1、HTML模板和字符串模板HTML模板:直接在HTML页面挂载的模板。(即非字符串模板)非字符串模板:在单文件里用 <templat
- 举个例子:q=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]我想获取其中值等于7的那个值的下标,以便于用于其
- 版本Sublime Text v4.0(4143) 所需软件Sublime Text v4.0(4143)下载地址:https://www.
- 对于英文文本分句比较简单,只要根据终结符"."划分就好,中文文本分句看似很简单,但是实现时会遇到很多麻烦,尤其是处理社交