python3.9实现pyinstaller打包python文件成exe


Posted in Python onDecember 13, 2020

简述

1.python

python作为一门解释型脚本语言,它有三种发布方式:

  • 文件 : 源码文件,运行需要使用者安装Python环境并且安装依赖的各种库
  • pyc文件:pyc文件是Python解释器可以识别的二进制码,可跨平台的,需要使用者安装相应版本的Python和依赖库。
  • 可执行文件:不需要安装python环境和依赖库,可针对不同平台需要打包不同的可执行文件(Windows,Linux,Mac,…)

2.pyInstaller

  •  PyInstaller工具可以把python解析器和脚本打包成一个可执行的文件,并不是编译成真正的机器码,打包成一个可执行文件后运行效率可能会降低,好处就是在使用者的机器上可以不用安装python和你的脚本依赖的库。
  • 利用PyInstaller对指定的的脚本打包时,会先分析脚本所依赖的其他脚本,然后根据导包路径去查找,把所有相关的脚本收集起来,包括Python解析器,然后根据你的命令参数可分别生成文件夹,或者打包成一个可执行文件。
  • 无论是生成的文件夹里的可执行文件或者只打包成一个可执行文件都可以直接运行,前者需要把整个文件夹都给别人。
  • 注意:PyInstaller打包的执行文件,只能在和打包机器系统同样的环境下。也就是说,不具备可移植性,若需要在不同系统上运行,就必须针对该平台进行打包。

环境准备

1.python安装

进入官网https://www.python.org/ 点击Downloads下的Windows按钮,进入下载页面,并安装

python3.9实现pyinstaller打包python文件成exe

打开cmd,输入python,如果结果如下图所示则表示安装成功!

python3.9实现pyinstaller打包python文件成exe

卸载Python,点击之前下载的Python安装包,点击Uninstall卸载。

2.pyInstaller安装

PyInstaller在windows下的安装
使用命令pip install PyInstaller即可
在windows下,pyinstaller需要PyWin32的支持。当用pip安装PyInstaller时未找到PyWin32,会自动安装pypiwin32

python3.9实现pyinstaller打包python文件成exe

PyInstaller在mac,linux下的安装
pip install PyInstaller

PyInstaller打包

1. 基本语法:

PyInstaller -F -w -i xxx.ico dev.py --hidden-import=pandas._libs.tslibs.timedeltas

常用参数:
-F 指只生成一个exe文件,不生成其他dll文件
-w 不弹出交互窗口,如果你想程序运行的时候,与程序进行交互,则不加该参数
-i 设定程序图标 ,其后面的xxx.ico文件就是程序小图标
dev.py 要打包的程序,如果你不是在dev.py同一级目录下执行的打包命令,这里得写上dev.py的路径地址
?hidden-import=pandas._libs.tslibs.timedeltas 隐藏相关模块的引用

注意:你在哪个目录下执行的命令,默认打包完成的文件或者文件夹就在该目录

2. 打包实例:

D:\itwork\python>pyinstaller -F -c one.py

python3.9实现pyinstaller打包python文件成exe

python3.9实现pyinstaller打包python文件成exe

python3.9实现pyinstaller打包python文件成exe

PyInstaller打包常见问题

1.超时:Read timed out

python3.9实现pyinstaller打包python文件成exe

到此这篇关于python3.9实现pyinstaller打包python文件成exe的文章就介绍到这了,更多相关python文件打包成exe内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现斐波那契递归函数的方法
Sep 08 Python
Django中模版的子目录与include标签的使用方法
Jul 16 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
TensorFlow变量管理详解
Mar 10 Python
python多个模块py文件的数据共享实例
Jan 11 Python
详解python selenium 爬取网易云音乐歌单名
Mar 28 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
django实现类似触发器的功能
Nov 15 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
python学习将数据写入文件并保存方法
Jun 07 Python
python 算法题——快乐数的多种解法
May 27 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 #Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 #Python
Pandas DataFrame求差集的示例代码
Dec 13 #Python
pandas实现导出数据的四种方式
Dec 13 #Python
python绘图pyecharts+pandas的使用详解
Dec 13 #Python
Pandas对每个分组应用apply函数的实现
Dec 13 #Python
python安装及变量名介绍详解
Dec 12 #Python
You might like
PHP 在线翻译函数代码
2009/05/07 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
PHP实现动态删除XML数据的方法示例
2018/03/30 PHP
扩展String功能方法
2006/09/22 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
2016/11/02 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
原生JS实现简单的无缝自动轮播效果
2018/09/26 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
python的即时标记项目练习笔记
2014/09/18 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
Python中print函数简单使用总结
2019/08/05 Python
在Django中实现添加user到group并查看
2019/11/18 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
使用CSS3编写类似iOS中的复选框及带开关的按钮
2016/04/11 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
加拿大最大的体育用品、鞋类和服装零售商:Sport Chek
2018/11/29 全球购物
学校感恩节活动策划方案
2014/10/06 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript