Inno Setup Compiler之后的init.tcl的Python错误

时间:2014-10-31 16:05:23

标签: python-2.7 installer tcl inno-setup py2exe

我有一个程序,我用py2exe转换为exe。之后,我尝试使用Inno Setup制作安装程序。我包括所有必要的文件,如.dll,.pyd,.gif,.wav,tlc文件夹(tcl8.5,tk8.5)等。但是在安装程序后它给了我这个错误:

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.

我该如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:2)

这解决了我遇到的问题。我在名为dest(v0.6.9 win32)的py2exe输出目录之外创建了我的Inno Setup(v5.5.5)。

Py2exe输出dest包含一个名为tcl的目录,其中包含文件和子文件夹。因此,在您的Inno设置脚本中,将以下条目添加到[Files]部分:

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

在我的情况下,currentWorkingdir\已添加到dest\tcl\*。这将获取所有内容并将其发送到DestDir: "(app)\tcl\",后者将获取文件和文件夹。

标志createallsubdirsrecursesubdirs完成所有工作。这是帮助摘录:

  

<强> createallsubdirs

     

默认情况下,编译器在递归时会跳过空目录   子目录搜索源文件名/通配符。这面旗帜   导致在安装时创建这些目录(就像if一样)   你为他们创建了[Dirs]条目。)

     

必须与recursesubdirs结合使用。