【发布时间】:2014-07-22 07:04:39
【问题描述】:
我有一个相当长的程序,我一直在尝试编译。 py2exe和cx_Freeze我都试过了,好像都出现了这个问题。
我使用以下 setup.py 文件来编译我的程序:
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == 'win32':
base = 'Win32GUI'
executables = [
Executable('version_3_2.py', base=base)
]
setup(name='version_3_2',
version='0.32',
description='desc',
executables=executables
)
从运行这个使用
python setup.py build
可执行文件已创建。
通过运行可执行文件,我得到了一个回溯说明
TclError: Can't find a usable init.tcl in the following directories:
C:/Python27/build/lib/tcl8.5
and a bunch of other directories
通过将所有 tkinter 和 tcl 文件和文件夹添加到其中几个目录中,我得到了执行的下一个回溯:
C:/Python27/build/lib/tcl8.5/init.tcl: version conflict for package "Tcl":
have 8.5.15, need exactly 8.5.2
version conflict for package "Tcl": have 8.5.15, need exactly 8.5.2
while executing
"package require -exact Tcl 8.5.2"
(file "C:/Python27/build/lib/tcl8.5/init.tcl" line 20)
invoked from within
"source C:/Python27/build/lib/tcl8.5/init.tcl"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $tclfile]"
我不完全确定该怎么做。 How to correct TCL_LIBRARY and TK_LIBRARY with py2exe 和 Py2exe with Tkinter 等几种解决方案均无效。
有什么想法吗?
【问题讨论】:
标签: python-2.7 compilation tkinter tcl executable