Pyinstaller解决打包名中文报错问题

之前用Pyinstaller打包时,用-n参数想把打包出来的程序名直接命名成中文,结果报UnicodeDecodeError。
网上查资料说的都是把打包名换成英文…
其实我之前也是这样做的…
然而时间久点后我就不开心了,每次打包都要改来改去麻不麻烦…
然后我就着报错信息直接看Pyinstaller的源代码,发现报错的代码在site-packages的
PyInstaller\utils\win32目录下的winmanifest.py内的1075行:(我的Pyinstaller版本是3.2.1)

with open(filename) as f:
    old_xml = f.read()

看见这代码就懂了,这是不支持utf-8啊,把它加上就行了:

with open(filename) as f:
	try:
		old_xml = f.read()
	except UnicodeDecodeError:
		with open(filename,encoding='utf-8') as f:
			old_xml = f.read()

因为是记事本方式打开的,要注意排版的时候不要用tab键,要用空格,不然加完会报另外的错。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值