Python tk框架

ter*_*ghn 6 python frameworks tkinter install-name-tool

我有python代码生成以下错误:

objc[36554]: Class TKApplication is implemented in both /Library/Frameworks/Tk.framework/Versions/8.5/Tk and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.

objc[36554]: Class TKMenu is implemented in both /Library/Frameworks/Tk.framework/Versions/8.5/Tk and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.

objc[36554]: Class TKContentView is implemented in both /Library/Frameworks/Tk.framework/Versions/8.5/Tk and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.

objc[36554]: Class TKWindow is implemented in both /Library/Frameworks/Tk.framework/Versions/8.5/Tk and /System/Library/Frameworks/Tk.framework/Versions/8.5/Tk. One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)

我的一些Tk扩展库在编译时链接/ System/Library/Frameworks而不是/ Library/Frameworks,我知道install_name_tool工具可以将二进制文件重新链接到正确的框架,但我究竟需要什么呢?键入终端以解决此问题?

cwo*_*ker 1

我不完全知道如何重新链接库,但我找到了这篇博客文章。这涉及同样的问题。在这种情况下,一切都是由于 ActiveTcl 扰乱了已安装的系统框架而引起的。

他最终只是删除了非系统版本。这是一个彻底的解决方案,但它可能会起作用。

cd /Library/Frameworks
rm -r Tk.framework
rm -r Tcl.framework
Run Code Online (Sandbox Code Playgroud)

您还可以首先将框架移动到其他地方以进行测试,如果您破坏了某些内容,稍后再恢复它们。

http://michaelwelburn.com/2013/06/07/python-error-conflicting-tk-libraries-and-activetcl/