使用pyinstaller将具有多个python文件的项目打包为exe(含依赖库)

2023-05-16

1、将需要打包有python文件放到一个文件夹,例如下图所示的Demo文件夹,其中ClickEveryDay.py为主文件,telegram.ico为图标文件。

  2、生成主函数对应的spec文件

命令:在Demo文件夹路径下使用:pyi-makespec ClickEveryDay.py,将产生一个ClickEveryDay.spec文件。

3、修改ClickEveryDay.spec文件:加入需要打包的所有python文件,设置以下内容:

    1)将所有需要打包的.py文件写到py_files列表,并将其作为Analysis的第一个参数;

    2)将Demo的绝对路径填入pathex,例如下图中的pathex=["C:\\Users\\shewe\\Desktop\\ClickEveryDay\\demo"],注意,一定是绝对路径。

    3)将需要打包的外部文件“chromedriver.exe”、“telegram.ico”写成一个add_files列表,作为Analysis的datas参数的值。需要说明的是,本项目是一个爬虫项目,需要使用chromedriver.exe浏览器插件,因此需要随项目打包,但并不是所有项目都需要这种外部文件的;telegram.ico为打包后exe文件的图标,建议每个exe都使用一个自定义的图标,否则pyinstaller将自动给一个不太好看的默认图标。

    4)将py文件中import的第三方库填入hiddenimports,本项目中用到了'selenium', 'smtplib', 'email'三个第三方库。

    5)在exe = EXE(......)中增加对icon图标的设置。本项目中设置了icon='telegram.ico'。

 

4、对ClickEveryDay.spec文件进行pyinstaller安装

执行命令:pyinstaller ClickEveryDay.spec

出现以下提示,说明安装成功

此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录ClickEveryDay下的ClickEveryDay.exe。

 

 此时打包成功,可以脱离开发环境单独运行了。 

如果需要更复杂的打包设置,可以参阅:Pyinstaller的Spec文件用法_tangfreeze的博客-CSDN博客_pyinstaller spec文件

 参考文献:

【python第三方库】pyinstaller使用教程及spec资源文件介绍_All_In_gzx_cc的博客-CSDN博客_python spec文件

Pyinstaller的Spec文件用法_tangfreeze的博客-CSDN博客_pyinstaller spec文件

pyinstaller打包为可单独运行的EXE(含依赖文件)_shewei1977的博客-CSDN博客_python程序打包为exe后依赖https://www.jb51.net/article/253660.htm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用pyinstaller将具有多个python文件的项目打包为exe(含依赖库) 的相关文章

  • ubuntu误删文件造成软件包信息列表损坏无法更新或安装文件

    因为一开始不知到如何彻底卸载软件包 xff0c 误把文件目录删除 xff0c 造成了软件包信息列表损坏 xff0c 系统无法使用apt get 命令 xff0c 无论实施更新或安装还是卸载都会提示软件包信息列表损坏 xff0c 建议重新安装
  • Docker镜像转换成Dockerfile

    通常我们会通过dockerfile构建docker xff0c 但是我们需要使用dockerfile时 xff0c 想还原其dockerfile xff0c 我们可以使用如下命令 docker run v var run docker so
  • 使用iperf测试网络速度--windows

    下载 下载iperf的Windows版本 xff1a iperf官网地址 这里下载的版本是iperf 3 1 3 win32 xff0c 电脑使用的是XP系统 下载文件中有cygwin1 dll xff0c cyggcc s 1 dll x
  • [最新]ubuntu22.04安装kubernetes1.25 k8s1.25

    条件 2G内存2 CPU网络连接 xff08 内网公网都可以 xff09 唯一的主机名 xff0c mac地址6443 xff0c 10650等端口禁用Swap20 GB var目录磁盘空间Sudo 用户权限 主机准备 Master Nod
  • hadoop目录介绍(各目录功能介绍)

    hadoop目录 1 bin xff1a 2 sbin3 etc4 lib5 logs6 include7 libexec8 share目录 介绍hadoop的目录 首先进入hadoop查看目录 挑重要的介绍 1 bin xff1a bin
  • Linux操作文件的系统调用

    操作文件的系统调用 1 文件操作有关的系统调用 open xff08 xff09 read xff08 xff09 write xff08 xff09 close xff08 xff09 1 xff09 open xff08 xff09 i
  • MySQL 分组查询

    文章目录 分组查询分组函数1 功能2 分类3 特点3 简单的使用4 和distinct搭配使用5 count函数的具体介绍6 和分组函数一同查询的字段有要求 分组查询1 语法2 简单的分组查询3 添加筛选条件3 1添加分组前的筛选3 2添加
  • Android-推荐一个视频播放库JZVideo

    最近项目当中有用到视频播放器这个功能 xff0c 分享一个我的开发心得 一般情况下 xff0c 我们不会去写一个视频播放器 xff0c 因为需要很多知识和播放场景考虑 分享一个我使用到的视频播放器的库 xff0c JZVideo 俗称饺子播
  • java zip压缩/解压工具类 ZipUtil

    public class ZipUtil public static void main String args throws Exception String ss 61 new String 2 ss 0 61 34 D adManag
  • echarts纯option制作自定义日历

    type 61 39 custom 39 34 tooltip 34 34 position 34 34 top 34 34 formatter 34 function p var format 61 echarts format form
  • hdparm命令详解

    hdparm命令来自于英文词组 hard disk parameters 的缩写 其功能是用于显示与设定硬盘参数 对于初次接手一块硬盘设备 了解相关性能属性有很好的帮助 nbsp 语法格式 hdparm 参数 设备名 nbsp 常用参数 n
  • Debian中配置JDK的环境

    在安装完Debian后 xff0c 系统中已经包含了open jdk但是该版本的jdk在开发java程序时有可能出现一些错误 xff0c 但对于不是开发而是普通使用的情况下一般没有太多问题 如果想要进行开发java的程序 xff0c 必须更
  • 【工控机开发】debian下安装QT及Opencv

    1 debian下安装QT开发环境 最近有需求要把虚拟机里面的程序直接在一台工控机上跑 xff0c 也就需要搭建相应的开发环境 首先说明下 xff0c debian下安装QT与在ubuntu下应该是有所区别的 xff0c 一开始偶我在deb
  • 考勤统计,一张表查询每月的员工考勤数据

    近期根据公司人事要求 写了一些关于考勤统计的报表 主要是查询员工每月的考勤数据 要求一行数据显示员工的当月的每天的考勤信息 标的样式如下 然后 根据考勤表 写了如下SQL语句 来实现报表的查询 谨以此做记录 以备后续查阅 SELECT De
  • 无法为数据库中的对象分配空间,因为‘PRIMARY‘文件组已满问题处理方式

    今天公司同事反馈 在手机APP端进行业务操作时 提示无法为数据库中的对象分配空间 因为 PRIMARY 文件组已满 如下所示 出现这个问题的原因是数据库中设置了Log日志限制了文件增长 设置如下所示 然后修改了相关设置 解决该问题 一般出现
  • C#如何连接SAP调用SAP接口函数

    在项目中我们经常会遇到SAP与其他应用系统对接的情况 xff0c 如OA对接SAP的FI HR模块 xff0c 生产系统对接SAP的MM模块等等 这里和大家介绍下C 如果调用SAP接口 xff0c 从而调用SAP接口函数 下面先贴出代码 这
  • SQLServer 分页分页查询优化方案,1秒内查询20万条数据的表

    最近在做sql分页查询的话 发现数据表中的数据量非常大的话 使用count 去统计行数的话 还是非常慢的 20多万条数据的表 用count查询 大概在9秒左右 服务器是4核8G内存的 5秒左右的时间 还是比较难以接受的 9秒时间的SQL语句
  • SQL Server 实现邮件发送功能(配置步骤及存储过程源码)

    日常企业开发中经常会遇到邮件推送的场景 我们利用SQL Server也可以实现邮件发送功能 本文主要和大家分享下利用SQL Server实现邮件发送的具体步骤 1 配置邮件服务器 配置邮件服务器 在SQL Server服务器上面选择 管理
  • Android-推荐一个视频压缩库RxFFmpeg

    最近项目当中有遇到上传视频的时候 xff0c 需要做合理压缩的需求 分享一下我使用的视频压缩库 xff0c 希望能帮助遇到同样有视频处理的需求的小伙伴 RxFFmpeg依赖 这个开源库一共有三个版本 xff0c 这里贴两个版本的依赖 xff
  • C# winForm 软件自动升级实现方式

    对于C winform开发者来说 xff0c 软件自动升级功能是一个很重要的功能 作者根据自身经验 xff0c 和大家分享一下软件升级的实现方式 注意 xff1a 本文主要介绍通过WebService升级软件 作者的另一篇通过FTP方式升级

随机推荐

  • 考勤查询统计SQL脚本。

    本文主要记录下平时工作中考勤统计中的SQL脚本 以便于后续翻阅 同时和大家分享一下 不足的地方还请大牛多多给与点评 nbsp 1 首先是查询某员工的考勤记录 可以根据年份 月份 或者时间段查询结果 同时也可以去掉人员筛选条件 查询多个人的考
  • SQL语句删除具有外键约束(foreign key)的表。因为该对象正由一个 FOREIGN KEY 约束引用。

    关于包含外键的表 xff0c 清理数据的时候 xff0c 如truncateTable xff0c 网上大部分的解决办法是 xff0c 删除外键 删除数据 再新建表 这里介绍一种不需要删除外键 xff0c 只需要修改外键属性就可以删除数据的
  • Unicode&ASCII中双向控制字符 U+202D和U+202C

    ASCII编码对照表 911查询 ASCII编码转换 xff0c ASCII码在线查询工具 ASCII 在线转换器 xff0c ASCII码 xff0c ASCII 转码 在线工具 Unicode 中的 BIDI 双向性算法 掘金 1 场景
  • C++魔方阵

    问题描述 输入一个自然数 xff2e xff08 1 amp le N amp le 9 xff09 xff0c 要求输出如下的魔方阵 xff0c 即边长为2 N 1 xff0c xff2e 在中心出现一次 xff0c 其余位置上的数字从外
  • PCM和WAV音频格式的区别,以及python自动转换

    目录 WAV和PCM的简单介绍PCMWAV 关于音频的基础知识声道数channels采样位数bits采样频率sample rate 进阶内容互相转换代码 WAV和PCM的简单介绍 PCM pcm xff1a pulse code modul
  • 解决:“操作无法完成因为其中的文件夹或文件已在另一程序中打开”无法删除文件的问题

    1 xff0c 利用快捷键 xff08 Ctrl 43 Alt 43 delete xff09 打开任务管理器 xff0c 选择其中的性能 xff0c 打开 资源管理器 2 xff0c 搜索下面关联的句柄 xff08 可搜索文件储存的路径
  • windows下使用C++操作MySQL数据库

    系统环境 操作系统 xff1a windows 7 64位 编译环境 xff1a visual studio 2015 MySQL版本 xff1a 5 6 31 log MySQL Community Server GPL 环境设置 1 将
  • kali重启网络服务

    kali的命令和一般的重启网络命令稍有不同 普通系统 xff1a systemctl restart network xff08 有补全 xff09 kali xff1a systemctl restart networking xff08
  • 安全设备默认地址账密总结

    防火墙 厂商默认地址用户名密码天融信192 168 1 254supermantalent talent 64 123华为192 168 0 1 8443adminHuawei 64 123 Admin 64 123网御星云一代防火墙htt
  • Android开发——实现背景颜色渐变效果

    前言 在Android开发当中 xff0c 我们肯定会接到有业务需求是 xff1a 让APP的某一些背景颜色产生渐变效果 那我们应该怎么去实现呢 xff1f 接下就是我要为大家介绍的了 效果图 这是需求要达到的效果 接下来说一下是怎么实现的
  • Java常见设计模式总结

    一 设计模式总述 xff1a 1 什么是设计模式 xff1a 设计模式是一套经过反复使用的代码设计经验 xff0c 目的是为了重用代码 让代码更容易被他人理解 保证代码可靠性 设计模式于己于人于系统都是多赢的 xff0c 它使得代码编写真正
  • ensp解决virtualbox不兼容问题

    virtualbox版本5 2 44 这个版本很讲究 xff0c 太高太低都不行 windows版本为20H2亲测有效 防火墙默认全关 另一台windows配置 系统型号virtualbox型号windows20h25 2 44window
  • 关于元宇宙

    元宇宙融合了信息技术 xff08 5G 6G xff09 互联网时代 xff08 web3 0 xff09 人工智能 云算力 大数据 区块链以及 VR AR MR xff0c 游戏引擎在内的虚拟现实技术的成果 它将引发基础数学 xff08
  • 关于oracle预言机

    oracle预言机和oracle数据库没有任何原因 在其他语种中oracle有预言的意思 区块链预言机 xff08 Oracle xff09 是区块链与外部世界交互的一种实现机制 xff0c 它在区块链与外部世界间建立一种可信任的桥接机制
  • Windows10 系统安装微软商店(ms-windows-store)

    在下载日历是显示没有应用 xff0c 应从ms windows store下载 在此记录windows10安装ms windows store步骤 步骤如下 xff1a 1 使用win 43 x打开菜单后 xff0c 选择powershel
  • 谷歌浏览器打开本地堡垒机应用发布服务器cmd的方法

    齐治堡垒机是业界中较为出名的堡垒机 xff0c 但是依旧存在一些bug 堡垒机是通过应用发布服务器访问web的 xff0c 如果托管了web且堡垒机管理员没有加固应用发布服务器本地策略 xff0c 我们可以通过浏览器调用本地的cmd进行一系
  • 2022复盘&2023计划

    个人成长计划 2022复盘 自媒体 B站 4月10日成为UP主 发布了35个视频 播放量13 6w 累计直播431h 粉丝量1160 获赞量2058 公众号 1053关注 36篇内容 小红书 136粉丝 1167赞 知乎 85关注 48赞
  • 使用集简云将UpTimer同步到Notion

    使用UpTimer同步到Notion 对于集简云我们应当非常熟悉了 xff0c 之前讲过很多流程啦 利用集简云将Notion数据库更新订阅到Outlook和微信 1 干货分享 集简云 2步轻松定制个人RSS阅读器 高效获取信息 2 释放双手
  • MySQL分组查询语句

    文章目录 1 需求2 表结构与部分数据3 查询语句4 结果5 前端显示 1 需求 根据账单表 tb bookkeeping 中的用户ID user id xff0c 按时间倒序查询该用户所在房间所有支出 xff08 bk type 61 0
  • 使用pyinstaller将具有多个python文件的项目打包为exe(含依赖库)

    1 将需要打包有python文件放到一个文件夹 xff0c 例如下图所示的Demo文件夹 xff0c 其中ClickEveryDay py为主文件 xff0c telegram ico为图标文件 2 生成主函数对应的spec文件 命令 xf