Whisper语音转文字模型在中文路径下运行的神奇报错UnicodeDecodeError

文章讲述了作者在处理Whisper开源模型时遇到的中文路径报错问题。问题源于whisper-script.py文件的乱码行,这行代码指定了Python解释器的位置。通过修正乱码路径和使用`python-m`命令解决了移动项目后的执行问题。作者在尝试复现错误时发现问题已自动消失,推测该脚本可能仅在初始化时被读取一次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在搞一个Whisper开源模型的懒人包,发现它在中文路径下运行时会报错(报错内容截取不了了,因为在我修好这个bug后,我想复现这个bug它却神奇消失了)

debug时的截图:
debug过程的截图
经过漫长的debug,发现问题出在这个whisper-scripy.py文件,它的开头有一行乱码,应该是pip在安装时没有转译好中文而造成的。(理想情况下这里应该显示的是D:\人工智能项目\whisper-webui\....
在这里插入图片描述

解决方法

把这一段乱码改成正常路径就好
我的情况就是把它改成D:\人工智能项目\whisper-webui\....

推测

debug过程中积攒了很多疑问

  • 程序在执行的时候会读取这个py文件,但是作为一个py文件其本身就是一个命令执行者,为什么要被视为一个文本对象被其他py文件读取?是作者的编写不规范还是我知识不足?
  • 从这行注释的内容来看,它似乎是在指定python解释器的位置#!D:\人工智能项目\whisper-webui\python\python.exe -x
  • Whisper项目如果直接移动其他目录,会出现无法运行的情况,命令行执行:whisper → \rightarrow 报错:failed to create process.。原因是whisper.exe中保存了先前的python解释器的位置,项目移动后,whisper.exe找不到python解释器,就会无法执行。解决方法是在命令前面加上python -m,也就是这么写:
    python -m whisper D:\music\Anna.mp3 --model small
    • 该方法受启发自pip,因为pip在移动了python环境后也会出现无法运行的情况。
  • 在未发现这个乱码之前,我把项目移动到全英文的目录底下,发现程序没有报错。但是,如果报错是由whisper-scripy.py引起的,而程序每次执行都会读取whisper-scripy.py,我又没有修改whisper-scripy.py里的乱码,那么就算在英文路径底下它也应该报错的才对。
  • 在我写这篇文章的时候,我把whisper-scripy.py恢复回了之前乱码的样子,想要复现之前的报错,却发现报错神奇地消失了。也就是说这个whisper-scripy.py只会被读取一次,那么合理的猜测就是它用于进行初始化。

哎,头疼

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白草遥遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值