Python 2.7.2安装在Suse Linux服务器11.3 can';找不到tkinter依赖项

Python 2.7.2安装在Suse Linux服务器11.3 can';找不到tkinter依赖项,python,build,suse,Python,Build,Suse,我在这上面花了好几个小时。似乎我们在Linux上的工作是调试那些无法跨碎片发行版工作的脚本,而不是完成工作 如果Setup.py能找到它需要的东西,它会尝试找到它需要的东西,并构建用于包装某些依赖项的c模块。这使得脚本相对于路径和文件名来说非常脆弱 虽然很难从.py源代码中分辨出来,但对于tkinter,我们似乎需要tcl、tk和tix。所有这些的最新版本都已安装。我可以验证这一点,因为SUSE发行版附带的Python 2.6导入了\u tkinter和tkinter模块,并正确运行了测试脚本

我在这上面花了好几个小时。似乎我们在Linux上的工作是调试那些无法跨碎片发行版工作的脚本,而不是完成工作

如果Setup.py能找到它需要的东西,它会尝试找到它需要的东西,并构建用于包装某些依赖项的c模块。这使得脚本相对于路径和文件名来说非常脆弱

虽然很难从.py源代码中分辨出来,但对于tkinter,我们似乎需要tcl、tk和tix。所有这些的最新版本都已安装。我可以验证这一点,因为SUSE发行版附带的Python 2.6导入了\u tkinter和tkinter模块,并正确运行了测试脚本

脚本似乎需要找到库。我安装了32位和64位。因此,这些库存在: 32位64位 libtk8.5.so/usr/lib/usr/lib64 libtcl8.5.so“”

这两个路径都包含在Setup.py中相应的搜索列表中。但是,我认为Setup.py不会搜索正确的文件名。它似乎在搜索以tk和tcl开头的文件,这些文件包含各种不同的版本(包括“8.5”)。但是,文件名不是以“lib”开头的。在我开始篡改之前,Python.org的人真的会把事情搞得这么糟吗?这似乎不太可能。SUSE Linux是一个如此奇怪的发行版吗?这似乎也不太可能

我不认为setup.py会寻找二进制文件(在运行时似乎很重要…),但它们存在于usr/lib和usr/lib64中

我能找到的唯一包含文件是tclextend。它是usr/include中的tclextend.h。我找不到tcl或tk的其他.h文件。当然,PythonC包装器所需的包含文件随Python2.7的下载一起提供

所以,我有点不知所措。这是对时间的巨大浪费。有没有一种方法可以跳过构建过程,只构建tcl/tk支持?ssl也有同样的问题:它无法构建。一次只做一件事


谢谢您的帮助。

我找到了许多rpm软件包的分发点。这使我能够安装单个软件包,例如tcl的头文件。但是,这是一种糟糕的方法,因为为tkinter构建Python支持的完整依赖层次结构大约有60个包

我发现11.3版操作系统的OpenSuSE存储库包含了我所需要的一切。我的Novell发行版附带了Novell的存储库,几乎排除了所有的devel软件包

问题解决了。python的制作找到了tkinter的所有先决条件


很抱歉发布这样一个nube问题。

我认为Tcl和to的-devel软件包可能没有安装,尽管我认为它们已经安装好了。我有所有devel包的完整目录。我将下载并安装它们,看看这是否解决了这个问题。