2014-02-09 31 views
11

我已經寫了一個python應用程序使用pyttsx庫。其工作沒有任何問題從tt.py文件。我使用py2exe模塊編譯了這個tt.py文件。編譯後我試圖運行.exe文件。那麼它的顯示錯誤等給出圖像 enter image description here在py2xe窗口pyttsx編譯錯誤

我 setup.py文件這樣

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'], 

) 

我通過這個命令編譯

python setup.py py2exe install 

我在tt.py進口下列模塊

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

我該如何解決這個問題?

回答

3

看你的進口,你需要添加import time

如果您的問題包括使用CX凍結它就像PY exe文件,並使用類似的代碼。

升級到python 3.3也可能是個好主意。這可能會解決一些問題。

這可能有助於它對您的錯誤的文章。 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")]) 

這裏的鏈接CX凍結http://cx-freeze.sourceforge.net/

下面是關於如何使用它的教程http://cx-freeze.readthedocs.org/en/latest/overview.html

1

我試圖cx_Freeze一兩分鐘,但是當它沒有馬上工作了我嘗試了一些更多與py2exe和得到這個工作:

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}) 

請注意,雖然這requi讓你在兩臺機器上運行相同的版本(在我的情況下爲v5.4)。如果你想規避,你可能需要嘗試一下more advanced