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过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
Python导出DBF文件到Excel的方法
Jul 25 Python
Python语言的面相对象编程方式初步学习
Mar 12 Python
Python 基础教程之包和类的用法
Feb 23 Python
解决Spyder中图片显示太小的问题
Apr 27 Python
用python实现刷点击率的示例代码
Feb 21 Python
python腾讯语音合成实现过程解析
Aug 01 Python
Django获取应用下的所有models的例子
Aug 30 Python
Python urlopen()和urlretrieve()用法解析
Jan 07 Python
python使用建议技巧分享(三)
Aug 18 Python
python实现简单贪吃蛇游戏
Sep 29 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 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中IP地址与整型数字互相转换详解
2014/08/20 PHP
PHP处理Oracle的CLOB实例
2014/11/03 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
JS数字抽奖游戏实现方法
2015/05/04 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
JavaScript实现url参数转成json形式
2016/09/25 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
浅谈JavaScript的函数及作用域
2016/12/30 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
python分割和拼接字符串
2013/11/01 Python
Python入门_学会创建并调用函数的方法
2017/05/16 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python3转换html到pdf的不同解决方案
2019/03/11 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python pip使用超时问题解决方案
2020/08/03 Python
python try...finally...的实现方法
2020/11/25 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
会计系中文个人求职信
2013/12/24 职场文书
办理护照介绍信
2014/01/16 职场文书
2014庆六一活动方案
2014/03/02 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
安全生产月活动总结
2014/05/04 职场文书
保管员岗位职责
2015/02/14 职场文书
关于感恩老师的古诗句
2019/08/20 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js