2010-10-15 79 views
4

我在python中用tkinter製作了一個簡單的GUI程序,並試圖使用py2exe將它轉換爲.exe。但是,我遇到了一個問題。當我嘗試運行exe時,它會很快閃爍一個錯誤,然後消失。所以我能做的最好的事情就是對錯誤進行微調。py2exe中的Tkinter問題

我該如何解決這個問題?

alt text

編輯

伶盜龍屬,這是我的安裝文件。它是儘可能基本的。我會如何將init.tcl整合到代碼中?

from distutils.core import setup 
import py2exe 

setup(console=[r'C:\Python26\Random Password Generator.py']) 

回答

4

您的setup.py腳本中是否包含init.tcl中的data_files選項? py2exe list of options說這就是你應該如何包含圖像和其他所需的數據文件。

編輯:

你的安裝腳本指定你的程序應該轉換到一個控制檯EXE。如果你想有一個GUI程序(你做,因爲你使用Tkinter的),你需要使用windows選項:

setup(windows=[r'C:\Python26\Random Password Generator.py']) 

Py2exe應正確包括Tkinter的的依賴。如果沒有,您可以手動init.tcl

setup(data_files=['C:\Python26\tcl\tcl8.5\init.tcl'], 
     windows=[r'C:\Python26\Random Password Generator.py']) 
+0

可能不是,請參閱編輯。 – rectangletangle 2010-10-15 22:40:16

0

確保TCL安裝在C:\Users\splotchy\lib\tcl8.5C:\Users\lib\tcl8.5

如果希望查看更長的錯誤消息,請從命令提示符運行程序。

+0

我沒有看到它在任何目錄下... – rectangletangle 2010-10-15 19:07:20

+0

@Anteater:這就是爲什麼它失敗... – 2010-10-18 10:19:35

0

我發現這表明以下https://github.com/pypa/virtualenv/issues/93

窗戶在目錄「C在virutalenv網站的錯誤:\腳本\環境\ VIRTUALENV \激活。蝙蝠」只是增加其設置爲正確的道路,TCL和TK爲您的Python版本

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5" 
set "TK_LIBRARY=C:\Python27\tcl\tk8.5" 

重新啓動CMD或外殼

我相信TCL的位置已經從默認的位置改變了。