在 TCL 中找不到包 fileutil(如何为第三方 TCL 解释器安装它)
can't find package fileutil in TCL(how to install it for third party TCL interpreter)
我安装了 Win 7 机器和 TCL
downloads.activestate.com/ActiveTCL/releases/8.6.4.1/ActiveTcl8.6.4.1.299124-win32-x86_64-threaded.exe
我正在成功使用 TCL 包 fileutil,如:
proc foo{} {
# some code
package require fileutil
# able to use ::fileutil::updateInPlace in code
}
foo
这是通过
处的脚本完成的
C:/SVN/code/changeFile.tcl
现在,我使用与
相同的代码作为更大脚本的一部分
proc foo{} {
# some code
package require fileutil
# some code using the package
}
# more code
cd "C:/SVN/code"
foo
#more code
cd "C:/Program Files (x86)/Target Compiler Technologies/adsp2-12R2/designs/adsp2/ISS"
这是名为 audio_sim.tcl 的脚本的一部分,通过 shell
上的以下命令调用
cd "C:/Program Files (x86)/Target Compiler
Technologies/adsp2-12R2/designs/adsp2/ISS" adsp2_ia.exe -T -t
"C:/SVN/code/audio_sim.tcl"
现在出现错误:
can't find package fileutil
当它与我在第一个案例中所做的相似时,为什么它现在抱怨?
正如 slebetman 所写,adsp2_ia.exe
可能找不到 ActiveTcl 库文件,但您可以自己导入包。在我的 8.6.1 安装中,文件位于 C:\Tcl\lib\teapot\package\tcl\teapot\tcl8.2\fileutil-1.14.8.tm
。您的位置或版本号可能不同,但请注意,您要查找的是 .tm
文件。它不会在任何名为 fileutil
的目录中,这些目录用于相关包。
(另一个 slebetman 指针:)可以通过调用 ::tcl::tm::path add
并将路径作为参数使模块可见。
如果没有,使用source
导入代码。在任何过程之外的全局范围内进行调用。
那么你应该可以调用 package require fileutil
.
我安装了 Win 7 机器和 TCL
downloads.activestate.com/ActiveTCL/releases/8.6.4.1/ActiveTcl8.6.4.1.299124-win32-x86_64-threaded.exe
我正在成功使用 TCL 包 fileutil,如:
proc foo{} {
# some code
package require fileutil
# able to use ::fileutil::updateInPlace in code
}
foo
这是通过
处的脚本完成的C:/SVN/code/changeFile.tcl
现在,我使用与
相同的代码作为更大脚本的一部分proc foo{} {
# some code
package require fileutil
# some code using the package
}
# more code
cd "C:/SVN/code"
foo
#more code
cd "C:/Program Files (x86)/Target Compiler Technologies/adsp2-12R2/designs/adsp2/ISS"
这是名为 audio_sim.tcl 的脚本的一部分,通过 shell
上的以下命令调用cd "C:/Program Files (x86)/Target Compiler Technologies/adsp2-12R2/designs/adsp2/ISS" adsp2_ia.exe -T -t "C:/SVN/code/audio_sim.tcl"
现在出现错误:
can't find package fileutil
当它与我在第一个案例中所做的相似时,为什么它现在抱怨?
正如 slebetman 所写,adsp2_ia.exe
可能找不到 ActiveTcl 库文件,但您可以自己导入包。在我的 8.6.1 安装中,文件位于 C:\Tcl\lib\teapot\package\tcl\teapot\tcl8.2\fileutil-1.14.8.tm
。您的位置或版本号可能不同,但请注意,您要查找的是 .tm
文件。它不会在任何名为 fileutil
的目录中,这些目录用于相关包。
(另一个 slebetman 指针:)可以通过调用 ::tcl::tm::path add
并将路径作为参数使模块可见。
如果没有,使用source
导入代码。在任何过程之外的全局范围内进行调用。
那么你应该可以调用 package require fileutil
.