详解如何将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 23 Python
python实现查询IP地址所在地
Mar 29 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
Python-嵌套列表list的全面解析
Jun 08 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
pytorch如何冻结某层参数的实现
Jan 10 Python
python实现加密的方式总结
Jan 19 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
详解如何修改python中字典的键和值
Sep 29 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 Python
Pytorch如何切换 cpu和gpu的使用详解
Mar 01 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
php判断linux下程序问题实例
2015/07/09 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
PHP解决中文乱码
2017/04/28 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
基于jquery的$.ajax async使用
2011/10/19 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
javascript实现密码验证
2015/11/10 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
JavaScript模拟数组合并concat
2016/03/06 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
vue实现分页的三种效果
2020/06/23 Javascript
Python fileinput模块使用实例
2015/05/28 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
美国在线宠物商店:Chewy
2019/01/12 全球购物
财务会计专业推荐信
2013/11/30 职场文书
司机辞职报告范文
2014/01/20 职场文书
气象学专业个人求职信
2014/03/15 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
退休欢送会致辞
2015/07/31 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB
mysql sock文件存储了什么信息
2022/07/15 MySQL