2014-02-09 5 views
11

Ich habe eine Python-Anwendung mit pyttsx Bibliothek geschrieben. es funktioniert ohne irgendein Problem von tt.py Datei. Ich kompilierte diese tt.py Datei mit py2exe-Modul. Nach dem Kompilieren habe ich versucht, eine .exe-Datei auszuführen. dann seine zeigt Fehler wie gegebenen Bild enter image description herepyttsx Kompilierungsfehler in Windows mit py2xe

meine setup.py-Datei wie diese

from distutils.core import setup 
import py2exe, sys, os 
#includes =['drivers','drivers.sapi5'] #this tried. but making error 
sys.argv.append('py2exe') 

setup(
    options = {'py2exe': {}}, 
    console=['tt.py'], 

) 

i durch diesen Befehl kompiliert

python setup.py py2exe install 

i folgende Module in tt.py am Import

import pyttsx 
import pyttsx.drivers.sapi5 
import win32com 
from time import sleep 

Wie kann ich das beheben?

Antwort

3

Ein Blick auf Ihre Importe müssen Sie import time

Wenn Ihr Problem Verwendung cx einfrieren wie py exe und verwenden Sie einen Code wie folgt hinzufügen bestehen.

Es könnte auch eine gute Idee sein, auf Python 3.3 zu aktualisieren. Dies kann zu Problemen führen.

Dies könnte helfen, es ist ein Artikel über Ihren Fehler. https://mail.python.org/pipermail/python-win32/2006-January/004184.html

import pyttsx 
import pyttsx.drivers.sapi5 
import win32com 
from time import sleep 
import sys 
from cx_Freeze import setup, Executable 

setup(
    name = "tt.py", 
    version = "0.1", 
    description = "your discription", 
    executables = [Executable("The file name", base = "Win32GUI")]) 

hier der Link http://cx-freeze.sourceforge.net/

Hier ist das Tutorial auf cx einzufrieren, wie es zu benutzen http://cx-freeze.readthedocs.org/en/latest/overview.html

1

Ich versuchte cx_Freeze für ein paar Minuten, aber wenn es klappt nicht sofort Ich versuchte etwas mehr mit py2exe und bekam dieses Arbeiten:

from distutils.core import setup 
import py2exe 

py2exe_options = { 'includes': ['pyttsx.drivers.sapi5', 'win32com.gen_py.C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4'], 
        'typelibs': [('{C866CA3A-32F7-11D2-9602-00C04F8EE628}', 0, 5, 4)] } 

setup(console=['tt.py'], options = {'py2exe': py2exe_options}) 

Anmerkung, dass dieses Requi Sie können die gleiche Version (v5.4 in meinem Fall) auf beiden Rechnern ausführen. Wenn Sie das umgehen möchten, müssen Sie wahrscheinlich etwas versuchen more advanced.