详解如何将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转换摩斯密码示例
Feb 16 Python
Django1.3添加app提示模块不存在的解决方法
Aug 26 Python
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
Nov 05 Python
深入理解python函数递归和生成器
Jun 06 Python
python daemon守护进程实现
Aug 27 Python
Python heapq使用详解及实例代码
Jan 25 Python
python算法演练_One Rule 算法(详解)
May 17 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
Python 切分数组实例解析
Nov 07 Python
用Python去除图像的黑色或白色背景实例
Dec 12 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 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中shuffle数组值随便排序函数用法
2014/11/21 PHP
php的GD库imagettftext函数解决中文乱码问题
2015/01/24 PHP
PHP模板解析类实例
2015/07/09 PHP
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
浅析Python基础-流程控制
2016/03/18 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
2016/07/04 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
django数据模型on_delete, db_constraint的使用详解
2019/12/24 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
英国最大的邮寄种子和植物公司:Thompson & Morgan
2017/09/21 全球购物
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
创业计划书的主要内容有哪些
2014/01/29 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
腾讯广告词
2014/03/19 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
党在我心中演讲稿
2014/09/02 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis