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参数和作用域的使用
Nov 01 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
python操作xlsx文件的包openpyxl实例
May 03 Python
Python多线程应用于自动化测试操作示例
Dec 06 Python
python函数不定长参数使用方法解析
Dec 14 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
Python无损压缩图片的示例代码
Aug 06 Python
python的数学算法函数及公式用法
Nov 18 Python
如何用python清洗文件中的数据
Jun 18 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
PHP4实际应用经验篇(4)
2006/10/09 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
JavaScript触发器详解
2007/03/10 Javascript
eval与window.eval的差别分析
2011/03/17 Javascript
用JQuery实现表格隔行变色和突出显示当前行的代码
2012/02/10 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
CSS3属性选择符介绍
2008/10/17 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
50岁生日感言
2014/01/23 职场文书
给小学生的新年寄语
2014/04/04 职场文书
食品质量与安全专业毕业生求职信
2014/08/11 职场文书
出差报告范文
2014/11/06 职场文书
大学军训的体会
2014/11/08 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
OpenFeign实现远程调用
2022/08/14 Java/Android