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和C语言混合编程实例
Jun 04 Python
Python3基础之条件与循环控制实例解析
Aug 13 Python
Python单例模式的两种实现方法
Aug 14 Python
python将list转为matrix的方法
Dec 12 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
python os模块简单应用示例
May 23 Python
python文件处理fileinput使用方法详解
Jan 02 Python
TFRecord格式存储数据与队列读取实例
Jan 21 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
python读取配置文件方式(ini、yaml、xml)
Apr 09 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
JS实现的手机端精简幻灯片效果
2016/09/05 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
python分割和拼接字符串
2013/11/01 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
python ftplib模块使用代码实例
2019/12/31 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
毕业生个人求职信范例分享
2013/12/17 职场文书
安全保证书范文
2014/04/29 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
城管个人总结
2015/02/28 职场文书
如何用python识别滑块验证码中的缺口
2021/04/01 Python
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis
SpringBoot详解执行过程
2022/07/15 Java/Android