2016-05-08 14 views
0

Ich versuche, eine eigenständige ausführbare Datei aus einem Python-Skript mit py2exe zu erstellen. Das Skript verwendet das Modul speech_recognition von Google. Ich habe viele Dinge ausprobiert, die ich bei einer Google-Suche gefunden habe, aber nichts scheint das Problem zu beheben (versucht, subprocess in die Datei setup.py zu importieren, einschließlich jedes einzelnen Moduls, das mein Skript möglicherweise verwenden könnte, usw.).Speech_recognition py2exe Subprozess

Irgendwelche Ideen? (PS: Ich möchte nicht wirklich von py2exe zu pyinstaller ändern, weil es einen ungelösten Fehler in einem anderen Modul hat, das ich in meinem Skript benötige). Das ist, was ich immer nach einem bestimmten Punkt in der Ausführung:

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 

Antwort

1

Ich denke, es versucht flac.exe ausführen, um den Audio- und dass exe gebündelt wird nicht von py2exe zu komprimieren. Um eine beliebige Datei zu erzwingen Verwendung data_file param zu setup in setup.py wie folgt aufgenommen:

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

habe ich nicht mit Google Speach gespielt, so müssen die Pfade überprüft werden, wenn beispielsweise das Modul erwartet zu finden flac.exe.