详解如何将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 Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
Python操作CouchDB数据库简单示例
Mar 10 Python
Python两个整数相除得到浮点数值的方法
Mar 18 Python
python实现批量图片格式转换
Jun 16 Python
pycharm 在windows上编辑代码用linux执行配置的方法
Oct 27 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
查看python安装路径及pip安装的包列表及路径
Apr 03 Python
基于Python的ModbusTCP客户端实现详解
Jul 13 Python
python list转置和前后反转的例子
Aug 26 Python
python 对xml解析的示例
Feb 27 Python
Python制作一个随机抽奖小工具的实现
Jul 07 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
使用jquery提交form表单并自定义action的实现代码
2016/05/25 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
Python any()函数的使用方法
2019/10/28 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
美国户外烹饪产品购物网站:Outdoor Cooking
2020/01/10 全球购物
一道写SQL的面试题和答案
2013/11/19 面试题
怎样声明一个匿名的内部类
2016/06/01 面试题
高中毕业生自我鉴定例文
2013/12/29 职场文书
小学生学习感言
2014/03/10 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
伊琍体标语
2014/06/25 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
严以律己专题学习研讨会发言材料
2015/11/09 职场文书
宣传委员竞选稿
2015/11/19 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android