在 Suse Linux Server 11.3 上安装 Python 2.7.2 找不到 tkinter 依赖项

Posted

技术标签:

【中文标题】在 Suse Linux Server 11.3 上安装 Python 2.7.2 找不到 tkinter 依赖项【英文标题】:Python 2.7.2 install on Suse Linux Server 11.3 can't find tkinter dependencies 【发布时间】:2011-12-27 22:48:03 【问题描述】:

我已经为此花费了数小时。似乎我们在 Linux 上的工作是调试在分散的发行版中不起作用的脚本,而不是完成工作。

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

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

脚本似乎需要查找库。我安装了 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 文件。当然,Python c 包装器所需的包含文件随 Python 2.7 的下载提供。

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

感谢您的帮助。

【问题讨论】:

我认为 Tcl 和 to 的 -devel 包可能没有安装,尽管我认为它们是。我有所有开发包的完整目录。我将下载并安装它们,看看是否能解决这个问题。 【参考方案1】:

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

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

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

很抱歉发布这样的问题。

【讨论】:

以上是关于在 Suse Linux Server 11.3 上安装 Python 2.7.2 找不到 tkinter 依赖项的主要内容,如果未能解决你的问题,请参考以下文章

请问如何在vista系统下安装opensuse 11.3

谁知道linux suse10镜像文件ISO在哪里下载?

suse的安装命令zypper,类似apt

SUSE Linux Enterprise Server 12 Install

SUSE Linux Enterprise Server Download

SUSE Linux Enterprise Server Download