LabelMe转换为exe文件

LabelMe转换为exe文件

  • LabelMe转换为exe文件
      • 首先下载labelme源代码
      • 安装依赖
      • 如有遇到utf-8' codec can't decode byte 0xce in position 110: invalid continuation byte错误
      • 如遇到default_config.yaml的路径问题

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

你可能感兴趣的:(LabelMe转换为exe文件)