python3.9实现pyinstaller打包python文件成exe
作者:kinloly 发布时间:2022-10-28 18:27:35
简述
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按钮,进入下载页面,并安装
打开cmd,输入python,如果结果如下图所示则表示安装成功!
卸载Python,点击之前下载的Python安装包,点击Uninstall卸载。
2.pyInstaller安装
PyInstaller在windows下的安装
使用命令pip install PyInstaller即可
在windows下,pyinstaller需要PyWin32的支持。当用pip安装PyInstaller时未找到PyWin32,会自动安装pypiwin32
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
PyInstaller打包常见问题
1.超时:Read timed out
来源:https://blog.csdn.net/u011813017/article/details/110661994
猜你喜欢
- 推荐第四种方案1通过MyBatis配置文件创建读写分离两个DataSource,每个SqlSessionFactoryBean对象的mapp
- 本文实例讲述了Python实现的求解最大公约数算法。分享给大家供大家参考,具体如下:使用Python求解两个数的最大公约数的时候用到了前面介
- 前言:最近某个时间开始,特别留意了一下Web标准中柱状图,也就是英文中的bar graph的实现。虽然实现方法各异,效果不尽相同,但是总体来
- MySQL短链接怎么设置1.查看mysql连接数语句命令:2.首先作为超级用户登录到MYSQL,注意必须是超级用户,否则后面会提示没有修改权
- 下面开始构造HTTP数据包,IP层和TCP层使用python的Impacket库,http内容自行填写。#!/usr/bin/env pyt
- Python 编程语言已经成为 IT 中使用的最流行的语言之一。成功的一个原因是它可以用来解决各种问题。从网站开发到数据科学、机器学习到任务
- 介绍兄弟们,这个是正经的教程,不要拿来乱用,可以自己用自己的电脑或者手机试,但是别搞别人,懂的都懂!本文思路1.通过opencv调用摄像头拍
- 网页中的javascript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以
- centos7之Python3.74安装安装版本:Python3.74系统版本:centos7系统默认安装Python2.7,保留。安装/u
- PyQt5信号与槽高级自定义信号与槽所谓高级自定义信号与槽,指的就是我们可以以自己喜欢的方式定义信号与槽函数,并传递参数,自定义信号的一般流
- 1、使用函数模型API,新建一个model,将输入和输出定义为原来的model的输入和想要的那一层的输出,然后重新进行predict.#co
- 前言.net core来势已不可阻挡。既然挡不了,那我们就顺应它。了解它并学习它。今天我们就来看看和之前.net版本的配置文件读取方式有何异
- 可能接触网站与编程设计的人都知道,一个属性值需要引号包括起来,但是有的时候就是因为没有正确设定引号类型,导致程序出错,就连我自己也是这样,我
- python可以简单优美,也很有趣,下面是收集的例子:1.一句话开始一个http的文件服务器:$ python -m SimpleHTTPS
- 本文实例讲述了Python基于property实现类的特性操作。分享给大家供大家参考,具体如下:Python中的特性是一个函数,但是在使用的
- 设置表名为中文1.设置Models.py文件class Post(models.Model): name = models.CharFiel
- 所谓取模运算,就是计算两个数相除之后的余数,符号是%。如a % b就是计算a除以b的余数。用数学语言来描述,就是如果存在整数n和m,其中0
- 一:js支持 Unicode 字符集,所以可以用中文命名函数。 二:js 在Var中没有初始化的变量,默认为undefined 三:对于未声
- 一、安装 FastAPI 和uvicorn可以使用 pip 命令进行安装:pip install fastapi uvicorn二、创建&n
- python redis连接 有序集合去重的代码如下所述:# -*- coding: utf-8 -*- import redisfrom