2016-05-08 1 views
0

Je suis en train de créer un exécutable autonome à partir d'un script python utilisant py2exe. Le script utilise le module speech_recognition de Google. J'ai essayé beaucoup de choses que je trouve sur une recherche google, mais rien ne semble résoudre le problème (essayé d'importer subprocess dans le fichier setup.py, y compris chaque module pourrait éventuellement utiliser mon script, etc.).Speech_recognition py2exe subprocess

Des idées? (P.S: Je ne veux pas vraiment changer py2exe-pyinstaller parce qu'il a un bug non résolu dans un autre module j'ai besoin dans mon script). Voilà ce que je reçois après un certain point dans l'exécution:

Traceback (most recent call last): File "core_v_0.1.py", line 210, in <module> 
    search_for_series() 
    File "core_v_0.1.py", line 111, in search_for_series 
    answer=user_speech_recognition() 
    File "core_v_0.1.py", line 147, in user_speech_recognition 
    user_said_=r.recognize_google(audio) 
    File "speech_recognition\__init__.pyc", line 608, in recognize_g 
    File "speech_recognition\__init__.pyc", line 351, in get_flac_da 
    File "subprocess.pyc", line 710, in __init__ 
    File "subprocess.pyc", line 958, in _execute_child 
WindowsError: [Error 2] The system cannot find the file specified 

Répondre

1

Je suppose qu'il essaie d'exécuter flac.exe pour compresser l'audio et que exe n'est pas fourni par py2exe. Pour forcer un fichier arbitraire à inclure utilisation data_file param à setup dans setup.py comme ceci:

setup(
    .... 
    data_files = [('path/to/googlespeachhelpers', ['/path/to/googlespeachflac.exe']] 
    .... 
) 

Je n'ai pas joué avec google speach, de sorte que les chemins doivent être contrôlés, par exemple lorsque le module attend à trouver flac.exe.