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
web.py 十分钟创建简易博客实现代码
Apr 22 Python
python使用电子邮件模块smtplib的方法
Aug 28 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
Jun 01 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
python pyheatmap包绘制热力图
Nov 09 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
wxpython绘制音频效果
Nov 18 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
Django 批量插入数据的实现方法
Jan 12 Python
Python基于Tkinter编写crc校验工具
May 06 Python
python 调用js的四种方式
Apr 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
2015/04/03 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
Javascript操作URL函数修改版
2013/11/07 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
python实现从字典中删除元素的方法
2015/05/04 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
Python箱型图绘制与特征值获取过程解析
2019/10/22 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
大三学习计划书范文
2014/05/02 职场文书
争先创优公开承诺书
2014/08/30 职场文书
保外就医申请书范文
2015/08/06 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers