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

Windows下Nuitka打包Python语音识别程序出现文件找不到错误

问题分析

该错误[WinError 2] The system cannot find the file specified是因为Nuitka打包时未正确包含speech_recognition或pyaudio依赖的关键文件——尤其是通过pipwin安装的pyaudio二进制动态链接库(.dll)未被纳入打包范围,导致运行时无法找到依赖文件。

解决方案

以下是针对性的修复步骤:

  1. 调整Nuitka打包命令,完整包含依赖包与数据文件
    替换原打包命令为:

    py -m nuitka --enable-plugins=tk-inter --standalone --include-package=speech_recognition --include-package=pyaudio --include-data-files="$(py -c "import pyaudio; print(pyaudio.__path__[0])")/*.dll=." ./logic/elizaAI.py
    

    说明:

    • --include-package会递归包含整个包的所有文件,比--include-module覆盖更彻底;
    • --include-data-files指定将pyaudio目录下的所有.dll文件复制到打包后的根目录,确保运行时能找到依赖库。
  2. 手动验证并补充缺失的依赖文件

    • 获取虚拟环境中pyaudio的安装路径:运行py -c "import pyaudio; print(pyaudio.__path__[0])";
    • 打开打包生成的elizaAI.dist文件夹,检查是否存在_portaudio_x64.dll(或对应架构的.dll文件);
    • 如果不存在,手动将pyaudio目录下的.dll文件复制到elizaAI.dist根目录,再运行程序测试。
  3. 切换依赖版本以提升兼容性
    部分版本的speech_recognition与Nuitka存在兼容性问题,可尝试切换到稳定版本:

    pip install speechrecognition==3.10.0
    pip install --upgrade pipwin
    py -m pipwin install pyaudio
    

    重新打包后测试运行。

  4. 测试单文件打包模式
    若standalone模式仍有问题,尝试单文件打包:

    py -m nuitka --enable-plugins=tk-inter --onefile --include-package=speech_recognition --include-package=pyaudio ./logic/elizaAI.py
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:27:27