LabelMe转换为exe文件
LabelMe转换为exe文件
为了方便使用labelme程序,可以将py程序转换为exe程序,在windows环境中无需安装python,就可以运行labelme。转换工具使用的是pyinstaller,比较早的pyinstaller介绍文章说它不支持python3,现在已经支持python3了。
首先下载labelme源代码
网址为 https://github.com/wkentaro/labelme/releases/tag/v3.16.7
安装依赖
- 安装pyinstaller
首先安装pywin32
```pip install pywin32
然后安装pyinstaller
pip install pyinstaller
- 使用pyinstaller
比较简单的转换操作
```pyinstaller -F E:/ python_workspace/labelme/main.py
会在当前目录生成dist文件夹,build文件夹和spec文件
dist目录(目录里面有可执行文件)
build目录(生成exe的中间文件)
spec文件(要转换文件的同一目录下,用于生成exe文件,可以修改来自定义生成exe的属性)
其中-F是参数,表示要生成一个exe文件,文件在dist目录中。
还有一些其他的参数使用,可以利用pyinstaller -h命令查看,比如-w生成窗口界面程序,-c生成控制台程序,–distpath制定生成exe文件的路径,–log-level指定输出的日志信息等等[1]。
如有遇到utf-8’ codec can’t decode byte 0xce in position 110: invalid continuation byte错误
修改D:\Python34\Lib\site-packages\PyInstaller\compat.py文件中
out = out.decode(encoding)
#改为
out = out.decode(encoding, errors='ignore')
然后重新pyinstaller -F E:/ python_workspace/labelme/main.py 即可[2]
如遇到default_config.yaml的路径问题
修改config中的__init__.py文件并重新编译
config_file = osp.join(here, 'default_config.yaml')
#改为
config_file = osp.join('../', 'default_config.yaml')
[1]https://www.520mwx.com/view/25640
[2]http://www.jyguagua.com/?p=3932