Python打包成exe文件的详细操作指南
作者:渔夫ciao 发布时间:2023-01-18 06:35:33
前言
我原本是学C\C++,这是本人第一篇关于python的文章。请多多关照!
对于python为什么要打包成exe文件,是因为传输源文件以及源代码给他人是需要配置好一定的环境才能进行编译操作,而打包成exe文件就可以跟电脑软件一样打开就可以运行也可以分享给他人。但是打包好的exe文件并不是很方便去拆包,所以在打包前一定要测试之后在打包发布。
版本控制方面尽量选择python3.6+32位版本,因为win64位系统向下兼容32位程序,如果不考虑32位系统的话无所谓,直接python64位版本直接打包就可以,但是只能在win64位系统运行。
好了下面我将从安装pyinstaller开始介绍,然后是打包教程,最后是命令解释。
PS:本次教程,我们不用cmd命令的小黑窗;
本次教程使用:Windows PowerShell(X86)
记得使用:管理员运行
图片最好使用ico后缀的图片,要么下载个格式转换。自己转换使用
一、安装pyinstaller
1.1 安装pyinstaller,使用安装命令:
pip3 install pyinstaller
1.2 如果遇到需要更新版本请输入:
pip install --upgrade pyinstaller
1.3 检查是否正确安装
emmmm好像安装完成了,
1.4 稍等,水一下;
python打包工具众多,推荐使用pyinstaller,本工具支持window和linux下使用。在windows下,大小为几十kb的源文件,打包成exe文件可能为几十兆,原因是把程序所引用的库文件也一起打包在一起了。
二、python打包成exe文件(附带图标打包)
本次打包有两种方法,根据自己勤快程度选择吧!
2.1 第一种:cd到指定文件夹打包存放
第一步:移动到指定存放exe文件的文件夹
cd 文件夹路径
例子:cd C:\FILE2\python_file
第二步:打包就完事了(看代码)
pyinstaller -F -w -i 路径一(图标) 路径二(py文件)
例子:pyinstaller -F -w -i D:\python_file\BindundunDemo\qt-logo.ico D:\python_file\BindundunDemo\main.py
2.2 第二种方法:cd到py源文件夹内打包存放
第一步:移动到源文件文件内
cd 文件夹路径
例子:cd C:\FILE2\python
第二步:还是打包就完事了(看代码)
pyinstaller -F -w -i 图标名.后缀 源文件.py
例子:pyinstaller -F -w -i qt-logo.ico one.py
2.3最终效果
dist文件里存放的是你生成的exe文件,点击即可使用。
至此,本次教程结束!
下面还有命令解释,请细细品尝。
参考:命令解释
命令 | 命令全称 | 命令解释 |
---|---|---|
-F | –onefile | 打包成单个可执行文件,如果你的代码都写在一个.py文件,则可以使用,如果是多个.py文件,建议不要使用。 |
-D | –onedir | 打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,该方式代码较易于维护。默认编译就是-D的 |
-K | –tk | 在部署时包含 TCL/TK。 |
-a | –ascii | 不包含编码.在支持Unicode的python版本上默认包含所有的编码。 |
-d | –debug | 产生debug版本的可执行文件 |
-w | –windowed,–noconsole | 使用Windows子系统执行.当程序启动的时候不会打开命令行(仅对Windows有效) |
-c | –nowindowed,–console | 使用控制台子系统执行(默认)(只对Windows有效) |
-s | –strip | 可执行文件和共享库将run through strip。注意Cygwin的strip可能使普通的win32 Dll无法使用 |
-X | –upx | 如果有UPX安装(执行Configure.py时检测),则会压缩执行文件(Windows系统中的DLL也会)。 |
-o DIR | –out=DIR | 指定spec文件的生成目录,如果没有指定,而且当前目录是PyInstaller的根目录,会自动创建一个用于输出(spec和生成的可执行文件)的目录.如果没有指定,而当前目录不是PyInstaller的根目录,则会输出到当前的目录下。 |
-p DIR | –path=DIR | 设置导入路径(和使用PYTHONPATH效果相似)。可以用路径分割符(Windows使用分号,Linux使用冒号)分割,指定多个目录.也可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源 |
-i <FILE.ICO> | –icon=<FILE.ICO> | 将file.ico添加为可执行文件的资源(只对Windows系统有效),改变程序的图标 pyinstaller -i ico路径 xxxxx.py |
–i <FILE.EXE, N> | –icon=<FILE.EXE, N> | 将file.exe的第n个图标添加为可执行文件的资源(只对Windows系统有效) |
-v FILE | –version=FILE | 将verfile作为可执行文件的版本资源(只对Windows系统有效) |
-n NAME | –name=NAME | 可选的项目(产生的spec的)名字.如果省略,第一个脚本的主文件名将作为spec的名字 |
来源:https://blog.csdn.net/weixin_45357007/article/details/123861771


猜你喜欢
- 本文实例为大家分享了python统计序列中元素的具体代码,供大家参考,具体内容如下问题1: &
- 本文实例讲述了Python3读取文件常用方法。分享给大家供大家参考。具体如下:''''' Creat
- 1.重命名表方法使用 RENAME TABLE 语句或 ALTER TABLE 语句都可以对表进行重命名,基本语法如下:# RE
- 一、内容简介使用while循环编写重复执行的语句使用哨兵值控制循环使用for循环实现计数器控制使用break、continue控制循环二、w
- 前言本文提供将图片色彩转为黑白或者褐色风格。比较类似于我们在看动漫、影视作品中,当人物在回忆过程中,体现出来的画面一般都是黑白或者褐色的。环
- 启动sql server Net Start MSSqlServer 暂停sql server Net Pause MSSqlServer
- python replace函数替换无效问题str = "hello,china!"str.replace("
- 历时半年,我独自一人完成了一个局级单位的管理信息系统,共发布BETA版29次,正式版本3次。ASP+ORACLE环境,285个ASP文件,功
- 下载中间件在每一个scrapy工程中都有一个名为 middlewares.py 的文件,这个就是中间件文件其中下载中间件的类为 XxxDow
- 我们在数据处理,往往不小心,pandas会“主动”加上行和列的名称,我现在就遇到了这个问题。这个是pandas中to_csv生成的数据各种拼
- 前言:随着互联网技术的不断发展, MySQL 相关生态也越来越完善,越来越多的工具涌现出来。一些公司或个人纷纷开源出一些不错的工具,本篇文章
- 本文实例为大家分享了pygame实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下为了简化起见,游戏素材暂定为两张简单的图片(文中用的是30
- 1.如何获取表单<select>域的选择部分的文本? <form name="a"> <s
- 声明本文章为个人拙见,仅仅提供参考,不一定正确,各位大佬可以发表自己的意见。题目描述考虑到在虚拟机部署中资源提供商通常希望自己的收益最大化,
- 今儿继续再看老师给推荐的深入浅出mysql数据库开发这本书,看到innodb数据库的外键关联问题时,遇到了一个问题,书上写的是可以对父表进行
- 问题产生:今天在编写神经网络的Cluster作业时,需要根据根据数据标签用不同的颜色画出数据的分布情况,由此学习到了这种高效的方法。传统思路
- 代码如下: var lishustr = "qwertyuiopasdfghjklmnbvcxz"; var s = l
- 目录方法一:直接调用函数运行方法二:使用偏函数来执行方法三:使用 eval 动态执行方法四:使用 getattr 动态获取执行方法五:使用类
- 在编程过程中,多了解语言周边的一些知识,以及一些技巧,可以让你加速成为一个优秀的程序员。对于Python程序员,你需要注意一下本文所提到的这
- 问:如何让内联框架里面的网页背景透明?(用iframe嵌套一网页,怎么能够设置其背景为透明以便能显示父框架中网页的背景图?)答:这是需要 I