它们没有损坏,只是没有安装。解决方案是在 2.6 下安装它们。但首先我们应该看看你是否真的应该这样做......
是的,Python 在安装时会将 python 命令替换为已安装的版本(除非您使用 --alt-install 运行它)。你没有确切说明你的问题是什么,所以我会猜测。您的问题是许多使用 Python 的本地命令现在都失败了,因为它们是用 Python 2.6 执行的,而不是用 Python 2.4 执行的。那是对的吗?
如果是这样,那么只需删除 /usr/local/bin/python,并确保 /usr/bin/python 是指向 /usr/bin/python2.4 的符号链接。然后你必须输入 python2.6 来运行 python2,6,但这没关系。这是最好的方法。那么你只需要安装2.6中需要的包即可。
但是如果我的猜测是错误的,并且你真的需要在 2.6 下安装所有这些包,那么不要太担心。首先,安装setuptools。它包含一个 easy_install 脚本,然后您可以使用以下命令安装模块
easy_install <modulename>
它将从 pypi.python.org 下载模块并安装它。它还将安装任何作为依赖项的模块。easy_install 可以安装任何使用 distutils 作为安装程序的模块,而且很少有人不这样做。这将使安装这些模块中的 90% 变得轻而易举。
如果模块有 C 组件,它会编译它,然后你也需要库头文件,这将是更多的工作,你所能做的就是以标准的 CentOS 方式安装它们。
您不应该在版本之间使用符号链接,因为库通常用于特定版本。对于 2.4 和 2.6,我认为 .pyc 文件是兼容的(但我不是 100% 确定),所以这可能有效,但任何使用 C 的模块都会损坏。其他版本的 Python 也会有不兼容的 .pyc 文件。而且我敢肯定,如果你这样做,大多数 Python 人不会帮助你。;-)
一般来说,我也尽量保持系统python“干净”,即我不安装任何没有安装打包工具的东西。相反,我使用 virtualenv 或 buildout 让每个应用程序都有自己的 python 路径,它的依赖项存在。所以我拥有的每个项目基本上都有自己的一组库。这样就容易多了。