Tcl “如何使用”;“包装要求螺纹”;在TK(愿望)文件中?

Tcl “如何使用”;“包装要求螺纹”;在TK(愿望)文件中?,tcl,tk,tclsh,Tcl,Tk,Tclsh,我已尝试在wish(*.tk)文件中加载线程包。 您能告诉我,如何使用wish(tk)文件内的软件包吗 %pkg.tk #!/usr/bin/wish -f #!/usr/bin/tclsh8.5 package require Thread 错误: 启动脚本中出现错误:找不到包线程 执行时 “包需要线程” (文件“/pkg.tk”第4行) 线程包似乎不在Tcl查找包时搜索的位置路径上 解决此问题的标准方法是通过tclibpath环境变量。 在启动Tcl解释器之前,您需要找到包含实现的目录,

我已尝试在wish(*.tk)文件中加载线程包。 您能告诉我,如何使用wish(tk)文件内的软件包吗

%pkg.tk

#!/usr/bin/wish -f
#!/usr/bin/tclsh8.5

package require Thread
错误:

启动脚本中出现错误:找不到包线程 执行时 “包需要线程” (文件“/pkg.tk”第4行)
线程包似乎不在Tcl查找包时搜索的位置路径上

解决此问题的标准方法是通过
tclibpath
环境变量。

在启动Tcl解释器之前,您需要找到包含实现的目录,并将该目录的父目录放入环境变量中。在我的系统上,实际实现在
/opt/local/lib/thread2.8.5/libthread2.8.5.dylib
中,可以通过以下方式完成:

export TCLLIBPATH=/opt/local/lib
但是位置和文件名在不同的系统中肯定会有所不同!(默认情况下,正确的位置应该在那里,但其他软件也有可能会导致此问题。这真的很烦人!)请注意,您应该使用
/
而不是
\
,因为后者是Tcl元字符。如果有多个位置,
tclibpath
实际上包含一个以空格分隔的列表



请注意,这与处理您自己的特定于应用程序的包不同。在这种情况下,您应该
lappend auto_path$location
在主脚本开始时获取它们的位置。

线程包似乎不在Tcl查找包时搜索的位置路径上

解决此问题的标准方法是通过
tclibpath
环境变量。

在启动Tcl解释器之前,您需要找到包含实现的目录,并将该目录的父目录放入环境变量中。在我的系统上,实际实现在
/opt/local/lib/thread2.8.5/libthread2.8.5.dylib
中,可以通过以下方式完成:

export TCLLIBPATH=/opt/local/lib
但是位置和文件名在不同的系统中肯定会有所不同!(默认情况下,正确的位置应该在那里,但其他软件也有可能会导致此问题。这真的很烦人!)请注意,您应该使用
/
而不是
\
,因为后者是Tcl元字符。如果有多个位置,
tclibpath
实际上包含一个以空格分隔的列表



请注意,这与处理您自己的特定于应用程序的包不同。在这种情况下,您应该
lappend auto_path$location
在主脚本开始时获取它们的位置。

您的系统上是否安装了一些Python应用程序?您是否为其中一些安装了Anaconda?python与TCL/TK的关系如何?一些操作系统将线程包从主TCL包中分离出来。Debian和朋友们称之为tcl线程。有什么建议吗?如何检查tk的线程?Anaconda会破坏所有tk小部件,因为Python使用Tkinter并完全更改所有Tcl和tk库的路径,以便Python可以使用它们。不幸的是,这会导致默认的Tcl和Tk安装中断。一种解决方案是安装Activetcl,而不是安装Linux附带的Activetcl。我个人使用的另一个解决方案是禁用Anaconda init脚本(我使用的基于Anaconda的应用程序在没有它们的情况下仍然可以工作),您的系统上是否安装了一些Python应用程序?您是否为其中一些安装了Anaconda?python与TCL/TK的关系如何?一些操作系统将线程包从主TCL包中分离出来。Debian和朋友们称之为tcl线程。有什么建议吗?如何检查tk的线程?Anaconda会破坏所有tk小部件,因为Python使用Tkinter并完全更改所有Tcl和tk库的路径,以便Python可以使用它们。不幸的是,这会导致默认的Tcl和Tk安装中断。一种解决方案是安装Activetcl,而不是安装Linux附带的Activetcl。我个人使用的另一个解决方案是禁用Anaconda init脚本(我使用的基于Anaconda的应用程序在没有它们的情况下仍然可以工作)