我最近在 Ubuntu 10.04 上安装了 Python 2.7.1(ActiveState 的 ActivePython)。我使用融合比较代码,在 Python 2.6.5 中没有出现问题,但升级到 2.7.1 后,执行时出现以下错误融合:
Meld 需要 pygtk 2.8.0 或更高版本
在 Synaptic 包管理器中查看,我安装了 python-gtk2,我相信它映射到 pygtk,但由于 meld 找不到它,这是否意味着它是为 2.6.5 安装的?
如果我运行以下命令:
pip 安装 pygtk
我得到:
导入错误:没有名为 dsextras 的模块
dsextras 似乎是 PyGObject 的一部分,但如果我尝试这样做:
pip 安装 pygobject
我收到一个错误,表明这种类型的安装仅在 Windows 上受支持:
不支持,好吗 [y/N]?错误:distutils 构建仅支持 Windows
迁移到较新 Python 版本的推荐方法是什么?是否可以将 2.6.5 中的软件包导入到 2.7.1 中,还是我可能会遇到兼容性问题?
答案1
这是在 Ubuntu 10.04 中安装 Python 2.7 的更好方法。获取 Python 2.5 和 2.7 的最佳方法是什么
答案2
您会遇到与二进制模块包(包括 pygtk)的兼容性问题。
据我所知,ActiveState 发行版在没有原生 Python 的 Windows 上还可以,但外部二进制包在 ubuntu 上看起来不太有吸引力。您的其他选择是升级到 ubuntu 10.10(我建议这样做)、为您的家庭编译自己的 Python、保持与 Python2.6 的兼容性或从 10.10 反向移植 Python2.7 包。