详解如何将python3.6软件的py文件打包成exe程序


Posted in Python onOctober 09, 2018

在我们完成一个Python项目或一个程序时,希望将Python的py文件打包成在Windows系统下直接可以运行的exe程序。在浏览网上的资料来看,有利用pyinstaller和cx_Freeze进行打包的方法。关于cx_Freeze打包的方法,可以参考windows下cx_Freeze生成Python可执行程序中的方法。由于方法主要是可以用于Python3.3版本的,高于该版本的Python无法使用。在我尝试的过程中,碰到的一个问题是:

安装cx_Freeze-4.3.3,找不到cxFreeze.bat

解决的方法是,在cmd命令行操作下,切换至放置cx_Freeze-4.3.3文件的Python安装目录下scripts目录下,使用以下代码自动生成:

python cxfreeze-postinstall

由于我安装的Python版本是3.6.2版本的,版本相对较新,cx_Freeze还没有更新版本至3.6版本。在我尝试很多次数失败后,决定采用pyinstaller来进行文件打包的方法。

下载pyinstaller

采用命令行操作的办法

在cmd命令行中,输入代码:

pip install pyinstaller

或者采用更新、升级的方法:

pip install --upgrade pyinstaller

采用下载文件+cmd操作的办法

首先,前往PyInstaller网站下载:http://www.pyinstaller.org/downloads.html

详解如何将python3.6软件的py文件打包成exe程序
     

下载时,要注意你安装的Python是多少版本的,有稳定版和不稳定版的,Python3.6只有不稳定版本的。其中绿色方框的是适用于linux操作系统下的,红色方框是适用于Windows系统下的。

进行解压缩、放置和安装

下载后,将压缩文件解压缩在Python安装目录下,进入该文件:

详解如何将python3.6软件的py文件打包成exe程序

该目录中含有setup.py,同时在cmd中进入该目录:

详解如何将python3.6软件的py文件打包成exe程序

输入命令:

python setup.py install

并按下回车键,会看到代码迅速执行,会进行安装pyinstaller,显示如下状态,看到“Finished processing dependencies for PyInstaller==3.3.dev0+41c426f6d”,即安装成功:

详解如何将python3.6软件的py文件打包成exe程序

使用pyinstaller打包py文件成exe程序

打包文件成exe程序

将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:

详解如何将python3.6软件的py文件打包成exe程序

并输入代码,格式为使用命令:pyinstaller -F 文件名(带后缀py):

pyinstaller -F test.py

常用参数说明:

?icon=图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件

pyinstaller -h 来查看参数

回车后,代码迅速操作,直到操作结束。

详解如何将python3.6软件的py文件打包成exe程序

返回目标文件目录,发现该目录下生成了.spec文件test.spec:

详解如何将python3.6软件的py文件打包成exe程序
打包好的exe文件,在同目录的dist文件中:

详解如何将python3.6软件的py文件打包成exe程序

由此,py文件打包好为exe文件。pyinstaller 改变生成exe程序的图标

pyinstaller -F --icon=my.ico test.py

my.ico 是一个图标名,和当前的test.py文件在同一个目录下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现批量压缩图片
Jan 25 Python
python列表的增删改查实例代码
Jan 30 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
儿童编程python入门
May 08 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
Nov 10 Python
pandas实现将dataframe满足某一条件的值选出
Jun 12 Python
Python利用requests模块下载图片实例代码
Aug 12 Python
python安装cx_Oracle和wxPython的方法
Sep 14 Python
简述python&pytorch 随机种子的实现
Oct 07 Python
使用Python实现音频双通道分离
Dec 25 Python
python实现PolynomialFeatures多项式的方法
Jan 06 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 Python
让代码变得更易维护的7个Python库
Oct 09 #Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 #Python
Python打包方法Pyinstaller的使用
Oct 09 #Python
Python如何发布程序的详细教程
Oct 09 #Python
python如何发布自已pip项目的方法步骤
Oct 09 #Python
Django csrf 验证问题的实现
Oct 09 #Python
Python正则表达式指南 推荐
Oct 09 #Python
You might like
改造一台复古桌面收音机
2021/03/02 无线电
php学习之 数组声明
2011/06/09 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
javascript中style.left和offsetLeft的用法说明
2014/03/07 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
详解在微信小程序的JS脚本中使用Promise来优化函数处理
2019/03/06 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
layui表格数据重载
2019/07/27 Javascript
python模拟鼠标拖动操作的方法
2015/03/11 Python
python字符串编码识别模块chardet简单应用
2015/06/15 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
Python控制Firefox方法总结
2019/06/03 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
工作的心得体会
2013/12/31 职场文书
地质灾害防治方案
2014/05/14 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
庆七一晚会主持词
2015/06/30 职场文书
法制主题班会教案
2015/08/13 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
JavaScript与JQuery框架基础入门教程
2021/07/15 Javascript
redis的list数据类型相关命令介绍及使用
2022/01/18 Redis
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏