【发布时间】:2019-08-26 18:18:45
【问题描述】:
我使用免费的 Anaconda 发行版 1.9.6 和 python 3.7.1 在 tkinter 中运行一个接口,为此我需要一个用 TCL 编写的名为 SIMPSON 的科学模拟软件来执行。
有问题的软件: 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 行,在运行文件中 execfile(文件名,命名空间)
文件 "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", 第 108 行,在 execfile 中 exec(编译(f.read(),文件名,'exec'),命名空间)
文件“R:/tests/MWE/tkinter_test.py”,第 10 行,在 main_window = tk.Tk()
文件“C:\ProgramData\Anaconda3\lib\tkinter__init__.py”,第 2023 行, 在 初始化 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/库
C:/Program Files (x86)/SIMPSON/tcl8.6/init.tcl:版本冲突 包“Tcl”:有 8.6.8,正好需要 8.6.2 版本冲突 包“Tcl”:有 8.6.8,正好需要 8.6.2 在执行“package require -exact Tcl 8.6.2”时 (文件“C:/Program Files (x86)/SIMPSON/tcl8.6/init.tcl”第 19 行) 从“source {C:/Program Files (x86)/SIMPSON/tcl8.6/init.tcl}”中调用 (“上层”主体线 1) 从“uplevel #0 [list source $tclfile]”中调用
这可能意味着 Tcl 没有正确安装。
SIMPSON 正常执行。卸载 SIMPSON 并重新安装 Anaconda 后问题才消失,但一定有更简单的方法……
【问题讨论】:
标签: python-3.x tkinter