pyinstaller对labelme打包为exe文件之后无法汉化问题(已解决)

近日为方便打标的工作人员使用,对labelme进行了一些修改,并且最后打算用pyinstaller打包为exe文件,但发现打包后的exe文件无法应用汉化。

按照网上的方式,哪怕将translate文件夹拖入同一目录也无法生效。

自己又不想直接在app.py文件中进行修改,工作量太大。

最后发现问题在于labelme.spec文件中并未对translate进行打包,需手动进行修改。

在labelme.spec文件中,找到第一个解析模块,对于资源文件并未导入translate

a = Analysis(
    ['labelme/__main__.py'],
    pathex=['labelme'],
    binaries=[],
    datas=[
        ('labelme/config/default_config.yaml', 'labelme/config'),
        ('labelme/icons/*', 'labelme/icons'),
    ],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
)

需在datas内加入一个元组,其中元组第一个元素表明要打包的资源位置,第二个元素表明打包后的位置,注意此处导入之后位置应为translate而不是labelme/translate,因为在labelme的main文件中有具体说明translate读取的位置,二者需进行匹配

a = Analysis(
    ['labelme/__main__.py'],
    pathex=['labelme'],
    binaries=[],
    datas=[
        ('labelme/config/default_config.yaml', 'labelme/config'),
        ('labelme/icons/*', 'labelme/icons'),
        ('labelme/translate/*', 'translate'),
    ],
    hiddenimports=[],
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
)

按此修改之后,即可得到汉化后的labelme.exe文件

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值