详解如何将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 相关文章推荐
python3访问sina首页中文的处理方法
Feb 24 Python
Python 多核并行计算的示例代码
Nov 07 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
Dec 12 Python
Python中最大最小赋值小技巧(分享)
Dec 23 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
使用python批量化音乐文件格式转换的实例
Jan 09 Python
python实现贪吃蛇小游戏
Mar 21 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
python搜索包的路径的实现方法
Jul 19 Python
django使用xadmin的全局配置详解
Nov 15 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
Python  Asyncio模块实现的生产消费者模型的方法
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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
PHP的面试题集
2006/11/19 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
php进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
让alert不出现弹窗的两种方法
2014/05/18 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
JavaScript返回网页中锚点数目的方法
2015/04/03 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
vue实践---vue不依赖外部资源实现简单多语操作
2020/09/21 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
利用ctypes提高Python的执行速度
2016/09/09 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
pandas 层次化索引的实现方法
2019/07/06 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
2010/07/20 HTML / CSS
是否有自动比较结构的方法
2015/06/03 面试题
中英双版中文教师求职信
2013/10/27 职场文书
销售顾问岗位职责
2014/02/25 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
党支部四风整改方案
2014/10/25 职场文书
瘦西湖导游词
2015/02/03 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
Python面试不修改数组找出重复的数字
2022/05/20 Python
Redis实现订单过期删除的方法步骤
2022/06/05 Redis