目录
1.背景
2.环境准备
2.1 源码下载
2.2 labelme环境配置(基于conda 环境)
2.3 pyinstaller 配置
2.4打包labelme的python代码为exe
编辑
2.5 验证
3.踩坑
1.背景
目前有许多标注类的开源代码,大家在工程化应用时可能需要一个直接可用的标注软件嵌入到各自的软件中,特此需要将labelme转为exe直接进行调用。
2.环境准备
2.1 源码下载
https://github.com/wkentaro/labelme 此处更新到最新版本或者下载对应版本
点击Download ZIP ,下载完毕解压到本地,我的解压到D盘labelmepack文件夹中
留作备用,后续进行环境配置
2.2 labelme环境配置(基于conda 环境)
本教程是基于conda 环境进行配置的,conda安装请自行百度(比较简单)
使用conda配置labelme环境
conda create -n labelmepack python=3.6.2 #conda 创建名为labelmepack 的环境,python版本3.6.2,亲测3.6.0版本,最新的labelme会报错 conda activate labelmepack #激活环境 pip install labelme #环境中安装labelme以及相关依赖环境,顺便满足后续源码打包环境的需求。
2.3 pyinstaller 配置
pip install pyinstaller
#安装pyinstaller, pyinstaller是一个非常简单的打包python的py文件的库
2.4打包labelme的python代码为exe
cd D:labelmepacklabelme-main
#进入到下载的labelme源码中
conda activate labelmepack
#进入到labelmepack环境中,如果已经激活,请忽略
pyinstaller labelme.spec
#运行打包脚本命令
运行到此就已经打包好了 打包好的exe文件保存在 根目录的dist文件夹下
2.5 验证
打包成功
3.踩坑
Fatal Python error: _PyInterpreterState_Get(): no current thread state
Python runtime state: unknown
python 版本过低导致的,升级到3.6.2以上(原版本为3.6.0)
希望对大家有帮助,下期记录python exe调用的介绍文档



