web-dev-qa-db-fra.com

Installation du module pochesphinx python: la commande 'swig.exe' a échoué

Je reçois quelque chose comme ça. Quelqu'un peut-il me dire s'il vous plaît comment résoudre ce problème.

C:\Users\krush\Documents\ML using Python>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: started
  Running setup.py bdist_wheel for pocketsphinx: finished with status 'error'
  Complete output from command C:\Users\krush\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\krush\\AppData\\Local\\Temp\\pip-build-cns2i_wb\\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\krush\AppData\Local\Temp\tmp3tyvnl9wpip-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: started
    Running setup.py install for pocketsphinx: finished with status 'error'
    Complete output from command C:\Users\krush\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\krush\\AppData\\Local\\Temp\\pip-build-cns2i_wb\\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\krush\AppData\Local\Temp\pip-x5mxeczy-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

    ----------------------------------------
Command "C:\Users\krush\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\krush\\AppData\\Local\\Temp\\pip-build-cns2i_wb\\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\krush\AppData\Local\Temp\pip-x5mxeczy-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\krush\AppData\Local\Temp\pip-build-cns2i_wb\pocketsphinx\
4
Krushi Raj

Pour résoudre le problème, j'ai téléchargé swig pour Windows

  1. Copiez swig.exe dans le dossier d'installation de Python (par exemple, C:/python27)

  2. Ouvrez le dossier swigwin-3.0.12/Lib et copiez tous les fichiers * .swg dans C:/python27/lib ou un chemin python équivalent.

  3. Ouvrez swigwin-3.0.12/lib/python et copiez tous les fichiers dans (C:/python27/lib)

(Assurez-vous également que Microsoft Visual C++ Compiler for Python est installé)

Ces étapes ont fonctionné pour moi.

6

Vous essayez d'installer pocketsphinx avec pip, qui téléchargera et compilera ce module. Cela nécessite un outil de compilation comme swig.

Une autre solution consiste à installer une version binaire de pocketsphinx. Vous pouvez télécharger une version binaire ici . Vous devez sélectionner la version correcte en fonction de votre installation. 

Pour déterminer laquelle vous devez télécharger, vous pouvez exécuter les commandes suivantes, qui vous indiqueront la version requise et si vous exécutez un interpréteur python 32 ou 64 bits.

"C:\Users\krush\Anaconda3\python.exe" --version
"C:\Users\krush\Anaconda3\python.exe" -c "import struct;print(struct.calcsize('P') * 8)"

Vous trouverez ci-dessous quelques commandes que vous pouvez entrer une fois que vous avez téléchargé la version correcte.

"C:\Users\krush\Anaconda3\python.exe" -m pip install pocketsphinx‑0.1.3‑cp35‑cp35m‑win32.whl
"C:\Users\krush\Anaconda3\python.exe" -m pip install pocketsphinx‑0.1.3‑cp36‑cp36m‑win_AMD64.whl
4

Au lieu de copier les fichiers Swig dans le dossier Python, vous pouvez simplement ajouter l’emplacement de Swig aux variables d’environnement:

  1. Appuyez sur Ctrl+S
  2. Tapez env et appuyez sur Enter
  3. Double-cliquez sur Path
  4. Ajoutez le path-to-Swig à la dernière ligne vide
  5. Cliquez sur OK et redémarrez votre PC
2
W Barreto

J'obtenais aussi la même erreur, lors de l'installation dans Ubuntu 16.04, j'ai exécuté les commandes suivantes: 

Sudo apt-get install -y python python-dev python-pip build-essential swig git libpulse-dev

Sudo pip install pocketsphinx

source: pochesphinx-python

0
Ramesh Kumar