2014-10-31 62 views
1

我有一個程序,我用py2exe轉換爲exe。之後,我嘗試使用Inno Setup進行安裝。我像包括.dll文件,.pyd,.GIF,.WAV,在TLC文件夾(TCL8.5,tk8.5)等所有必要的文件,但安裝程序後,它給了我這個錯誤:Inno安裝程序編譯後的init.tcl Python錯誤

C:\Program Files (x86)\test>test.exe 
Traceback (most recent call last): 
    File "test.py", line 9359, in <module> 
    File "test.py", line 11, in __init__ 
    File "Tkinter.pyc", line 1745, in __init__ 
_tkinter.TclError: Can't find a usable init.tcl in the following directories: 
    {C:/Program Files (x86)/lib/tcl8.5} {C:/Program Files (x86)/lib/tcl8.5} C:/l 
ib/tcl8.5 {C:/Program Files (x86)/library} C:/library C:/tcl8.5.2/library C:/tcl 
8.5.2/library 



This probably means that Tcl wasn't installed properly. 

我怎樣才能解決這個問題?提前致謝。

+0

那麼'init.tcl'安裝在哪裏? – 2014-11-03 14:41:04

+0

@DonalFellows與其他文件一樣,它也安裝在Program Files(x86)中。這是在tcl8.5 – Duardo 2014-11-03 16:05:35

回答

2

這解決了我的問題。我在py2exe輸出目錄之外創建了名爲dest(v0.6.9 win32)的Inno Setup(v5.5.5)。

Py2exe輸出dest包含一個名爲tcl的目錄,其中包含文件和子文件夾。因此,在您Inno Setup的腳本中添加以下條目到[Files]部分:

Source: dest\tcl\*; DestDir: "{app}\tcl"; Flags: createallsubdirs recursesubdirs 

在我的情況currentWorkingdir\添加到dest\tcl\*。這將獲取所有內容並將其發送到獲取文件和文件夾的DestDir: "(app)\tcl\"

標誌createallsubdirsrecursesubdirs完成所有工作。這是從幫助摘錄:

createallsubdirs

By default the compiler skips empty directories when it recurses subdirectories searching for the Source filename/wildcard. This flag causes these directories to be created at install time (just like if you created [Dirs] entries for them).

Must be combined with recursesubdirs.

+0

這個答案對我來說沒有意義,因爲我得到了相同的錯誤消息,但我的文件在正確的目錄中。出於無奈,我試了一下,只是改變了: DestDir:「{app}」到: DestDir:「{app} \ tcl」 很好地解決了這個問題,但我不明白爲什麼......; ( – 2016-02-02 06:20:14

相關問題