[python]pyinstaller的bootloader不支持中文路径问题

1 问题描述

在windows10下,使用pyinstaller制作了一个exe文件,其中使用了 ‘runtime_tmpdir=’.’’,以便让该exe解压的_MEIxxxxxx 文件与exe文件在同一个目录下。
在将该exe放在没有中文字符的路径下时,程序能够很好的解压,并能正常支持。但是,当将其放在含有中文字符的路径下时,程序无法运行,抛出异常。

2 问题分析

这是关于exe是否支持中文路径的问题,pyinstaller之前解决过该问题。参见下面的网址。
https://pyinstaller.readthedocs.io/en/stable/CHANGES-3.html?highlight=unicode#v3-3-known-issues
在网上也能搜索到一些帮助。
但这里出现的问题,并不是python的不支持的问题。而是由bootload解压时不支持问题。
上述问题的一个现象是:如果exe文件位于中文路径 “D:/test/”,然后 _MEIxxxxxx文件在"D:/test/"下面,程序能够正确执行;但是如果把exe文件放在含中文的路径下面,如"D:/test中文/"下,则 _MEIxxxxxx file 被解压到根目录"D:/"下,致使python再运行时,无法找到解压的库文件而出错。
所以,根源在于pyinstaller解压的问题。
pyinstaller解压是用一个独立的程序bootloader来完成的,在windows下,该程序路径如下:envs\虚拟环境名称\Lib\site-packages\PyInstaller\bootloader\ 下面。如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值