创建干净虚拟环境对YOLOV8进行打包

server/2024/9/24 8:41:42/

背景

基于Yolov8写了一个视频检测小demo,考虑后续要到项目上使用,所以研究了一下打包流程。使用的工具是Pyinstaller,在原有的环境下面打包发现,大小有6个多G。所以想再弄一个干净的环境,只安装需要的模块,看包的大小能不能缩小一些。

步骤

创建虚拟环境

1 打开Anaconda Prompt(在开始菜单中搜索)

2 Anaconda Prompt的命令行窗口输入创建虚拟环境语句(根据自己实际情况),例如:

conda create -n Yolov8_installer python=3.12 

安装过程中,键入一次 y

3 激活环境

conda activate Yolov8_install

4 安装Pytorch

Start Locally | PyTorch,选择与自己环境匹配的版本,然后拷贝安装命令

出现如下图,提示安装成功

5 安装Yolov8

直接下载源码,或者是执行

pip install ultralytics

6 Pycharm中配置环境

打开Pycharm,打开需要打包的文件所在文件夹,点击Settings => Python Interpreter => Add Interpreter,参考下图,点击确定即可。

进行打包

可直接在Pycharm的终端,直接输入,例如

pyinstaller -w .\DemoWindow.py   #DemoWindow.py是你要打包的文件

输入命令之后,等待即可,因为依赖环境比较多,时间稍微有点长,大概几分钟,最后出现这样子就打包成功了。

测试打包

打包生成的目录在脚本同级目录下的dist文件夹中,我的是dist/DemoWindow/,这个文件夹下有一个DemoWindow.exe和一个文件夹_internal。

直接双击DemoWindow.exe,看能不能正常打开,哈哈,果然不让你一次成功,提示找不到文件

然后,手动拷贝了Yolov8源码ultralytics到_internal中,就ok了。

另外,还需要在exe同级目录下,拷贝程序中使用到的资源,要不然exe找不到,我试了放到_internal里面不行。

结论

干净的虚拟环境打的包比原来小0.7G。

附录

主要参考文章,感谢!

https://blog.csdn.net/JHZ056/article/details/141170043

https://blog.csdn.net/shangyanaf/article/details/139029717


http://www.ppmy.cn/server/102827.html

相关文章

基于web框架的协同过滤的美食推荐系统【数据爬虫、管理系统、数据可更新、样式可调整】

文章目录 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍研究背景研究的目的与意义协同过滤算法基于用户的协同过滤算法定义基于物品的协同过滤算法的定义 数据库设计db_food(美食信息表)db_collect(美食…

微服务设计原则——高性能:池化

文章目录 1.池化由来2.内存池3.线程池4.连接池5.对象池6.小结参考文献 1.池化由来 池化(Pooling)是一种优化技术,旨在提高系统性能和资源利用率,特别是在高并发环境中。通过池化,系统可以重用资源,而不是每…

java并发编程之线程基础

文章目录 线程基础线程状态New(新创建)Runnable(可运行)被阻塞线程和等待线程Terminated(终止) 三种使用线程的方法线程互斥同步Synchronized概念修饰的四种对象 ReentrantLock比较 线程基础 线程状态 线…

网络编程/在哪些场景中不必要进行网络字节序转换? Windows Sockets: Byte Ordering

文章目录 概述字节序必须转换字节序的的情况不必转换字节序的的情况字节序转换的例程字节序转换函数字节序转换可以不生硬字节序和位序 概述 本文主要讲述了在哪些场景下必须要进行大小端字节序转换,在哪些场景下可以不用进行大小端字节序转换,IP和端口…

【ubuntu24.04】k8s 部署6:calico容器正常启动

参考大神 以及 tigera官方的calico 教程:拥有一个带有 Calico 的单主机 Kubernetes 集群 后, 【k8s】配置calico 1: 镜像拉取 【k8s】master节点重新安装docker-ce 本文进一步解决容器启动问题: 非常感谢大神的指点:准备 Kubernetes 集群环境 做好了各种配置以后,kube**的…

encoding with ‘idna‘ codec failed (UnicodeError: label empty or too long)

今天在使用Flask连接mysql的时候,遇到了一个报错:encoding with ‘idna’ codec failed (UnicodeError: label empty or too long) 网上查了一下说是字符集的问题,然后尝试修改了一下字符集,结果还是不行。 最后去翻阅SQLAlchemy…

idea付费插件,这个插件Laravel idea好用吗

以下idea付费插件你们都用过哪些呢? 获取链接:https://web.52shizhan.cn

分类预测|基于白鲸优化混合核极限学习机结合Adaboost的数据分类预测Matlab程序BWO-HKELM-Adaboost

分类预测|基于白鲸优化混合核极限学习机结合Adaboost的数据分类预测Matlab程序BWO-HKELM-Adaboost 文章目录 前言分类预测|基于白鲸优化混合核极限学习机结合Adaboost的数据分类预测Matlab程序BWO-HKELM-Adaboost 一、BWO-HKELM-Adaboost模型1. 模型组成1.1 白鲸优化算法&#…