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实现二分法算法实例
Feb 02 Python
Python实现调度算法代码详解
Dec 01 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
django做form表单的数据验证过程详解
Jul 26 Python
PYcharm 激活方法(推荐)
Mar 23 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
Aug 07 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
python实现粒子群算法
Oct 15 Python
Python pip 常用命令汇总
Oct 19 Python
基于Python实现射击小游戏的制作
Apr 06 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
Stop SQL Server
2007/06/21 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
javascript弹出层输入框(示例代码)
2013/12/11 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
urllib2自定义opener详解
2014/02/07 Python
python正则表达式match和search用法实例
2015/03/26 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
2016/05/05 Python
python并发编程之线程实例解析
2017/12/27 Python
python开发游戏的前期准备
2019/05/05 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
美的官方商城:Midea
2016/09/14 全球购物
应届生.NET方向面试题
2015/05/23 面试题
企业安全生产责任书
2014/04/14 职场文书
安全施工标语
2014/06/07 职场文书
政府个人对照检查材料
2014/08/28 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书