背景
基于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。
附录
主要参考文章,感谢!