Mac Os X 10.4.11上的Tcl/Tk Tkinter版本8.4和8.5与python 2.6.4冲突

Mac Os X 10.4.11上的Tcl/Tk Tkinter版本8.4和8.5与python 2.6.4冲突,python,macos,tkinter,tk,Python,Macos,Tkinter,Tk,为了安装matplot库,我在启动和运行Tkinter时遇到困难 我正在运行MacOSX10.4.11,刚刚安装了Python2.6.4 在经历了其他几场战斗之后,我要安装matlotlib还剩下一场战斗,那就是要有一个Tkinter的工作版本,尽管在我的Mac中有几个来自Xcode和Python的版本,我想它们只是没有安装在有用的地方?安装Python2.6.4后,导入失败。所以我从活动状态安装了TCL8.5 现在,我进入Tkinter测试: Tkinter._测试() 回溯(最近一次呼叫最后

为了安装matplot库,我在启动和运行Tkinter时遇到困难

我正在运行MacOSX10.4.11,刚刚安装了Python2.6.4

在经历了其他几场战斗之后,我要安装matlotlib还剩下一场战斗,那就是要有一个Tkinter的工作版本,尽管在我的Mac中有几个来自Xcode和Python的版本,我想它们只是没有安装在有用的地方?安装Python2.6.4后,导入失败。所以我从活动状态安装了TCL8.5

现在,我进入Tkinter测试:

Tkinter._测试() 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py”,第3746行,在测试中 root=Tk() 文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py”,第1645行,在init self._loadtk() 文件“/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py”,第1659行,在 %(_tkinter.TK_版本,TK_版本) 运行时错误:tk.h版本(8.4)与libtk.a版本(8.5)不匹配

我知道您已经讨论了我在这里描述的确切错误:

但是这些错误源于python早期版本的一个问题,setup.py颠倒了查找位置的顺序。您在上一篇文章中的建议是在setup.py和rebuild python中修复此顺序,但是我的setup.py看起来已经不错了-它包括以下几行:

def detect_tkinter_darwin(self,inc_dirs,lib_dirs): #_tkinter模块,使用框架。因为框架非常复杂 #不同的是,UNIX搜索逻辑不可共享。 从os.path导入联接,存在 框架\u目录=[ “/Library/Frameworks”, “/System/Library/Frameworks/”, join(os.getenv('HOME'),'/Library/Frameworks')

我真的很想知道如何处理这个问题!(我是生物学家…)

当我在做这件事时,我将包括当我试图安装m matplotlib时发生的事情,以防它有用……matplotlib认为我有Tkinter 8.4(讽刺的是,只有我安装了8.5的一台仪器,在此之前它总是说找不到Tkinter):

Tkinter:Tkinter:65971,Tk:8.4,Tcl:8.4

此外,以下是我在尝试构建matplotlib时遇到的错误:

powerpc-apple-darwin8-g++-4.0.1:无法识别的选项“-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk” i686-apple-darwin8-g++-4.0.1:无法识别的选项“-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk” /usr/bin/ld:-syslibroot:指定了乘法 collect2:ld返回了1个退出状态 /usr/bin/ld:-syslibroot:指定了乘法 collect2:ld返回了1个退出状态 lipo:无法打开输入文件:/var/tmp//ccrblCgU.out(没有这样的文件或目录) 错误:命令“g++”失败,退出状态为1 make:**[mpl\U构建]错误1

谢谢


Katrine

我认为以前提出的解决方案的要点是Python在安装时会检测到Tk的正确版本和位置。我假设您是在安装Python之后安装Tk的。当我使用.dmg安装程序重新安装Python2.6时,这个问题在我的机器上得到了解决。我不需要重建或做任何事情。我希望这似乎对我很有用。我安装了最新的适用于Mac的ActiveTcl 8.5.14(如Python Tkinter文档中所述)然后使用virtualenv通过
brew
对Python 2.7.5进行了一次干净的安装,然后运行了一个需要Tkinter的turtle软件包,这一切都是第一次运行。请查看并修改涉及virtualenv和virtualenvwrapper的部分,然后为Tkinter项目创建一个新的virtualenv并在那里安装软件包。