PocketSphinx 安装找不到 swig.exe

Posted

技术标签:

【中文标题】PocketSphinx 安装找不到 swig.exe【英文标题】:PocketSphinx install can't find swig.exe 【发布时间】:2018-01-12 19:03:37 【问题描述】:

我已经在整个网络上进行了搜索,尤其是在 *** 上解决了与此相关的所有问题。

我正在使用以下命令安装它“pip install pocketsphinx”

我有 Windows x64, 我没有设置任何关于 Swig 的环境路径。

我还下载了 Swig zip 文件并将其解压缩到我的下载文件夹中,搜索并没有“swig.exe”文件。

您可以在下面从命令提示符查看错误/日志。

C:\Users\User>pip install pocketsphinx
Collecting pocketsphinx
  Using cached pocketsphinx-0.1.3.zip
Building wheels for collected packages: pocketsphinx
  Running setup.py bdist_wheel for pocketsphinx ... error
  Complete output from command c:\users\user\appdata\local\programs\python\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\User\\AppData\\Local\\Temp\\pip-build-i770rcof\\pocketsphinx\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\User\AppData\Local\Temp\tmpgkhbp3u1pip-wheel- --python-tag cp36:
  running bdist_wheel
  running build_ext
  building 'sphinxbase._ad' extension
  swigging swig/sphinxbase/ad.i to swig/sphinxbase/ad_wrap.c
  swig.exe -python -modern -Ideps/sphinxbase/include -Ideps/sphinxbase/include/sphinxbase -Ideps/sphinxbase/include/win32 -Ideps/sphinxbase/swig -outdir sphinxbase -o swig/sphinxbase/ad_wrap.c swig/sphinxbase/ad.i
  error: command 'swig.exe' failed: No such file or directory

  ----------------------------------------
  Failed building wheel for pocketsphinx
  Running setup.py clean for pocketsphinx
Failed to build pocketsphinx
Installing collected packages: pocketsphinx
  Running setup.py install for pocketsphinx ... error
    Complete output from command c:\users\user\appdata\local\programs\python\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\User\\AppData\\Local\\Temp\\pip-build-i770rcof\\pocketsphinx\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\User\AppData\Local\Temp\pip-s5wxsxzb-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build_ext
    building 'sphinxbase._ad' extension
    swigging swig/sphinxbase/ad.i to swig/sphinxbase/ad_wrap.c
    swig.exe -python -modern -Ideps/sphinxbase/include -Ideps/sphinxbase/include/sphinxbase -Ideps/sphinxbase/include/win32 -Ideps/sphinxbase/swig -outdir sphinxbase -o swig/sphinxbase/ad_wrap.c swig/sphinxbase/ad.i
    error: command 'swig.exe' failed: No such file or directory

非常感谢任何帮助, 提前致谢!

【问题讨论】:

Swig not found when installing pocketsphinx Python的可能重复 这缺乏细节,我不知道如何使它可以被检测到。我可能已经接近解决方案,并且会在可行时进行更新。 【参考方案1】:

好的,我解决了。方法如下:

首先我去他们的官网下载了专门针对windows的swigwin文件,里面有一个“swig.exe”文件。

然后我将其解压缩,并将其添加到环境变量 PATH 中。这解决了我的问题。

后来我又报错了,找不到visual studio C++ build tools v14.0(沿着这些线),如果你也有这个问题,从他们的官方网站下载C++ build tools 2015,安装,然后在您的 Program Files 或其他任何地方找到它,将路径复制到 VC 文件夹并将其添加到您的环境变量 PATH 中。

这让我可以在 Windows 上下载/安装 pocketsphinx。

【讨论】:

【参考方案2】:

首先以管理员身份运行 IDE 或 CMD 并运行以下命令:

pip install pipwin
pipwin install pocketsphinx

【讨论】:

【参考方案3】:

如果你只是想在windows上安装pocketsphinx,那么你可以安装pocketsphinx的二进制文件。可以在这里找到适合您系统的二进制文件

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pocketsphinx

为您的系统选择正确的二进制文件,然后您可以使用以下命令安装它

python -m pip install pocketsphinx-downloaded_wheel.whl

【讨论】:

以上是关于PocketSphinx 安装找不到 swig.exe的主要内容,如果未能解决你的问题,请参考以下文章

python语音唤醒-pocketsphinx

Python pocketsphinx RequestError:缺少 PocketSphinx 模块:确保正确设置了 PocketSphinx

pocketsphinx python gstreamer 音频速率

Android下PocketSphinx的离线语音识别

Android下PocketSphinx的离线语音识别

sh 录制立体声,带有arecord的单声道,并使用pocketsphinx读取