You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

微软语音转语音翻译Windows正常,Linux遇_gi导入错误求助

问题解决:Linux下运行Azure语音翻译代码时出现cannot import name '_gi'错误

错误原因

这个错误源于playsound库在Linux环境下依赖系统的gi(GObject Introspection)模块,而你使用的Python 3.11.5与系统预装的gi模块存在版本不兼容或循环导入问题。

解决方案

方案1:替换更兼容的音频播放库(推荐)

playsound对Linux的支持较差,改用simpleaudio可以避免依赖问题:

  1. 卸载现有playsound:
    pip uninstall -y playsound
    
  2. 安装simpleaudio:
    pip install simpleaudio
    
  3. 修改代码中的音频播放部分:
    替换原导入语句:
    # from playsound import playsound
    import simpleaudio as sa
    
    替换播放harvard.wav的代码:
    # playsound(audioFile)
    wave_obj = sa.WaveObject.from_wave_file(audioFile)
    play_obj = wave_obj.play()
    play_obj.wait_done()  # 等待音频播放完成
    

方案2:修复gi模块的版本适配

如果坚持使用playsound,可以通过软链接适配Python 3.11:

  1. 先安装系统级依赖(Debian/Ubuntu系):
    sudo apt-get update && sudo apt-get install python3-gi python3-gi-cairo gir1.2-gtk-3.0 -y
    
  2. 找到系统中gi模块的编译文件,创建适配Python3.11的软链接:
    # 替换310为你系统中原有的Python版本号(比如3.10)
    sudo ln -s /usr/lib/python3/dist-packages/gi/_gi.cpython-310-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/gi/_gi.cpython-311-x86_64-linux-gnu.so
    sudo ln -s /usr/lib/python3/dist-packages/gi/_gi_cairo.cpython-310-x86_64-linux-gnu.so /usr/lib/python3/dist-packages/gi/_gi_cairo.cpython-311-x86_64-linux-gnu.so
    

方案3:临时跳过音频播放(快速测试)

如果不需要预听输入音频,可以直接注释掉播放代码:

# playsound(audioFile)

这样可以绕开playsound的依赖问题,优先验证翻译与合成功能是否正常。


内容的提问来源于stack exchange,提问作者Babar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 20:40:34