详解如何将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判断文本中消息重复次数的方法
Apr 27 Python
python基础教程之分支、循环简单用法
Jun 16 Python
Python的网络编程库Gevent的安装及使用技巧
Jun 24 Python
浅谈python中列表、字符串、字典的常用操作
Sep 19 Python
Python编程求解二叉树中和为某一值的路径代码示例
Jan 04 Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 Python
django缓存配置的几种方法详解
Jul 16 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 Python
python已协程方式处理任务实现过程
Dec 27 Python
jupyter notebook插入本地图片的实现
Apr 13 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
May 10 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之密码加密的几种方式
2015/07/29 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
Maps Javascript
2007/01/22 Javascript
js模拟类继承小例子
2010/07/17 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
JS获取下拉列表所选中的TEXT和Value的实现代码
2014/01/11 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
jQuery中Nicescroll滚动条插件的用法
2016/11/10 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
Python中使用SAX解析xml实例
2014/11/21 Python
Python中多线程及程序锁浅析
2015/01/21 Python
关于python的list相关知识(推荐)
2017/08/30 Python
python利用urllib和urllib2访问http的GET/POST详解
2017/09/27 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
模具设计与制造专业推荐信
2014/02/16 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
个人贷款担保书
2014/04/01 职场文书
1亿有多大教学反思
2014/05/01 职场文书
机械专业求职信
2014/05/25 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
党员示范岗材料
2014/12/19 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
公司仓库管理制度
2015/08/04 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
《时代广场的蟋蟀》读后感:真挚友情,温暖世界!
2020/01/08 职场文书
MySQL普通表如何转换成分区表
2022/05/30 MySQL