运行tkinter以及另一个基于TCL的程序

问题描述 投票:0回答:1

我使用免费的Anaconda发行版1.9.6与python 3.7.1在tkinter中运行一个接口,为此我需要一个名为SIMPSON的科学模拟软件,用TCL编写来执行。

有问题的软件:https://inano.au.dk/about/research-centers/nmr/software/simpson/(此软件安装时没有恶意软件或任何其他不便,如果有人想测试,这里讨论的那个)

问题是,即使执行简单的代码:

import tkinter as tk

main_window = tk.Tk()
main_window.mainloop()

...返回错误消息:

文件“”,第1行,在runfile中('R:/tests/MWE/tkinter_test.py',wdir ='R:/ tests / MWE')

文件“C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,第704行,在runfile execfile(filename,namespace)中

文件“C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ spyder_kernels \ customize \ spydercustomize.py”,第108行,execfile exec(compile(f.read(),filename,'e​​xec'),namespace)

文件“R:/tests/MWE/tkinter_test.py”,第10行,在main_window = tk.Tk()中

文件“C:\ ProgramData \ Anaconda3 \ lib \ tkinter__init __。py”,第2023行,在init self.tk = _tkinter.create(screenName,baseName,className,interactive,wantobjects,useTk,sync,use)

TclError:在以下目录中找不到可用的init.tcl:{C:\ Program Files(x86)\ SIMPSON \ tcl8.6} C:/ProgramData/Anaconda3/lib/tcl8.6 C:/ ProgramData / lib /tcl8.6 C:/lib/tcl8.6 C:/ ProgramData / library C:/ library C:/tcl8.6.8/library C:/tcl8.6.8/library

C:/ Program Files(x86)/SIMPSON/tcl8.6/init.tcl:包“Tcl”的版本冲突:有8.6.8,需要与包“Tcl”完全相同的8.6.2版本冲突:有8.6.8,在执行“package require -exact Tcl 8.6.2”(文件“C:/ Program Files(x86)/SIMPSON/tcl8.6/init.tcl”第19行)时,需要从“源{C: / program Files(x86)/SIMPSON/tcl8.6/init.tcl}“(uplevel”body line 1)从“uplevel#0 [list source $ tclfile]”中调用

这可能意味着Tcl安装不正确。

SIMPSON正常执行。只有卸下SIMPSON并重新安装Anaconda后问题才会消失,但必须有一个更简单的方法......

python-3.x tkinter
1个回答
0
投票

从错误消息我认为与SIMPSON捆绑的Tcl正在使anaconda Tcl出现问题,因为它们都在不同的版本上。 SIMPSON上的Tcl是8.6.2,你的anaconda上的Tcl是8.6.8,它满足Tkinter版本8.6.8。这意味着Tkinter无法使用Tcl> = 8.6.8运行。

在SIMPSON上更新Tcl应该可以修复错误。您也可以尝试更新Anaconda Tcl,以解决问题。

从命令行(More Details)更新Anaconda上的Tcl / Tk。

命令:

conda install -c conda-forge tk 
conda install -c conda-forge/label/gcc7 tk 
conda install -c conda-forge/label/broken tk 
conda install -c conda-forge/label/cf201901 tk
© www.soinside.com 2019 - 2024. All rights reserved.