PyQt5结合Yolo框架打包python为exe文件完整流程

一、准备
1.安装 pyinstaller

pip install pyinstaller

更新(初次安装忽略)

pip install --upgrade pyinstaller

2.安装 auto-py-to-exe
安装

pip install auto-py-to-exe

打开工具

auto-py-to-exe.exe

auto-py-to-exe 可视化转换工具:


二、打包
1.选择主程序路径,配置参数,点击生成


2.等待转换完成…


3.点击“打开输出目录”


4.进入main文件夹,找到main.exe,双击运行


三、YOLOv5 打包
YOLOv5打包exe,需要添加以下内容:

选择:“高级” - “–hidden-import” :
models.yolo


添加后,当前命令框自动生成转换代码,点击转换即可。

打包后的输出的文件夹

四、打包过程问题解决

1.缺少dll依赖文件
报错:
OSError: [WinError 126] 找不到指定的模块。 Error loading “C:\Users\chen\output\main\torch\lib\caffe2_nvrtc.dll” or one of its dependencies.

解决:
下载、解压 Dependens工具:Dependecies下载地址


按照报错提示路径找到对应的dll文件


将caffe2_nvrtc.dll文件拖动到Dependens软件中,查看缺少的dll文件


使用Everything查找缺失的文件


将其复制到exe工程的caffe2_nvrtc.dll同目录下

2.ImportError
报错:
ImportError: DLL load failed while importing QtWidgets: 找不到指定的程序。

解决:
选择:“高级” - “–hidden-import” :

PyQt5.sip


 

3.其他
1.若提示缺乏文件夹,就将相应文件夹复制到工程的根目录中。
2.若提示缺乏pyc文件,就把带有该py文件的整个文件夹复制到工程的根目录中,并将对应的py文件后续改为pyc。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815595.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVAEE之Spring AOP

1. AOP概述 AOP是Spring框架的第⼆⼤核⼼(第⼀⼤核⼼是IoC) 1.1 什么是AOP? • Aspect Oriented Programming(⾯向切⾯编程) 什么是⾯向切⾯编程呢? 切⾯就是指某⼀类特定问题, 所以AOP也可以理解为⾯向特定⽅法编程. 什么是⾯向特定⽅法编…

jenkins+docker集成harbor实现可持续集成

目录 一、前言 二、Harbor介绍 2.1 什么是Harbor 2.1.1 Harbor架构图 2.2 Harbor 特征 2.3 Harbor 核心组件 2.4 Harbor使用场景 三、Harbor部署 3.1 安装docker compose 3.1.1 安装方式一 3.2 基于python3 pip安装docker compose 3.2.1 安装python3 3.2.2 安装pyt…

Linux makefile文件

makefile格式: make makefile/Makefile(大小写都可以): make是一个命令,makefile是一个目录文件 现在你写了一个test.c文件,要编译运行。 输入命令:vim makefile 在makefile文件内输入: myte…

Vue项目Nginx配置自定义路径别名

第一步:在vite.config.js中配置base的路径 在打包项目之前需要在vite.config.js中配置base的路径,路径名为服务器自定义的路由别名: 比如: import { fileURLToPath, URL } from "node:url";import { defineConfig } from "v…

什么是隐马模型

目录 什么是隐马模型 举例简单理解 什么是隐马模型 隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,用于描述一个含有隐含未知参数的马尔可夫过程。其难点在于从可观察的参数中确定该过程的隐含参数,并利用这些参数来作进一步的分析,例如模式识别。 隐马尔可…

互联网轻量级框架整合之设计模式

反射技术 Java的反射技术能够通过配置类的全限定名、方法和参数完成对象的初始化,甚至反射某些方法,大大的增强了Java的可配置型,这也是Spring IoC的底层原理,Java的反射技术覆盖面很广,包括对象构建、反射方法、注解、…

JavaScript 中什么应用场景下必须用 map 而不是对象来实现功能

前言 很多情况下,能用 map 实现的功能用对象也可以实现,都是基于键值对,但是在一些情况下,必须要使用 map 才可以。 必须用 map 而不是 object 的情况 键的类型不限:普通对象的键总是被转换为字符串或者 Symbols&a…

C#简单工厂模式的实现

using System.Diagnostics.Metrics; using System.Runtime.InteropServices; using static 手写工厂模式.Program;namespace 手写工厂模式 {internal class Program{public interface eats {void eat();}//定义了一个接口public class rice : eats{public void eat() {Console.…

Qt快速入门(Opencv小案例之人脸识别)

Qt快速入门(Opencv小案例之人脸识别) 编译出错记录 背景 因为主要使用qt,并且官网下载的win版本的编译好的opencv默认是vc的,所以我们需要自己下载opencv的源码使用mingw自行编译,我直接使用的vscode。 报错 报错…

【JavaWeb】Day43.MySQL概述——索引

介绍 索引(index):是帮助数据库高效获取数据的数据结构 。简单来讲,就是使用索引可以提高查询的效率。 优点: 1. 提高数据查询的效率,降低数据库的IO成本。 2. 通过索引列对数据进行排序,降低数据排序的成本&#…

C++系列-C++前言

什么是C C语言是结构化和模块化的语言,适合处理较小规模的程序,对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适,为了解决软件危机,20世纪80年代,计算机界提出…

Ant Design Vue Table 自定义渲染与自定义单元格

自定义渲染 自定义渲染主要通过customRender属性来实现,它允许你针对特定的列定义自己的渲染逻辑。通常情况下,你需要提供一个函数,这个函数会接收三个参数:text(待渲染的文本)、record(整行数…

Python 编程 深入了解内存管理机制、深拷贝与浅拷贝

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、对象和引用、内存管理机制 Python 中的一切都是对象,包括数字、字符串、列表和函数等。为了简化内存管理并提高效率,Python 采用了统一的对象模型。在这个模型中&#xff0c…

【考研数学】看张宇的书,高效自学攻略

张宇老师的课程,我建议还是认真听一下 因为张宇老师视频课并不是照本宣科的读讲义,他是真的有自己的教学方法 讲义上的概念,老师自己会在A4纸上带大家过一遍,并且遇到关键的知识点,老师会强调 张宇老师还会帮我们记…

C语言入门算法——车站

题目描述: 火车从始发站(称为第 1 站)开出,在始发站上车的人数为 a,然后到达第 2 站,在第 2 站有人上、下车,但上、下车的人数相同,因此在第 2 站开出时(即在到达第 3 站…

[C语言][数据结构][链表] 双链表的从零实现!

目录 零.必备知识 0.1 一级指针 && 二级指针 0.2 双链表节点的成员列表 a. 数据 b. 后驱指针 c. 前驱指针 0.3 动态内存空间的开辟 一. 双链表的实现与销毁 1.1 节点的定义 1.2 双向链表的初始化 && 创建新节点 1.3 尾插 1.4 头插 1.5 尾删 1.6 头删 1…

MySQL8.0.36-社区版:错误日志(2)

mysql有个错误日志,是专门记录错误信息的,这个功能默认是开启的 一般都是在/var/log/mysqld.log 日志中存放 1.错误日志的位置 首先我们使用命令去查看一下,这个错误日志文件究竟在哪 进入到mysql中,使用命令 show variables…

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog conte…

二叉树遍历(前序创建|中序遍历)

牛客题目链接 目录 1.解题思路 1.1中序遍历打印 ​1.2前序创建二叉树 1.3注意点 博主这里用的是java实现 随手记一个知识: hasNext读取到空格或者换行符会结束 hasNextLine读取到换行符才会结束(空格不会退出) 为什么要强调这个呢? …

Vivado Design Suite中的增量实现和增量模式

Vivado Incremental(增量)是Xilinx FPGA设计工具中的一种功能,它允许对设计的一部分进行修改和重新编译,而不需要对整个设计进行重新编译。这种增量式的方法可以显著减少编译时间,特别是在进行小的修改或迭代开发时。 …