将使用 UCS4 构建的 python 替换为 UCS2

将使用 UCS4 构建的 python 替换为 UCS2

我已经安装了 fedora fc15 和 python 2.7.1-7.fc15。它是用 ucs4 构建的,我这里有一些用 ucs2 构建的包。我现在无法构建使用这些 ucs2 包的其他包,因为我的 python 是 ucs4。问题是,一旦我删除 python,yum 就不起作用,事情会变得复杂。解决这个问题的最佳方法是什么,以获得 ucs2 python 等?请注意,我无法影响使用 ucs2 构建的预构建公司二进制文件使用 ucs4 构建。

谢谢

答案1

我认为你有两个基本选择:

  1. 如果您有权访问源代码或 srpm,请为 ucs4 python 重新编译 ucs2 软件包。例如,如果您需要与其他需要 ucs2 的计算机进行通信或共享数据,则这可能不实用。例如数据库。我提到这个选项主要是为了完整性 - 从你所说的来看,它不太可能是一个可行的选择。

  2. 在 /usr/local 中编译并安装 ucs2 版本的 python(最好使用GNU 斯托安装它以获得软件包本来可以给您带来的一些好处)。

    设置环境以指向 ucs2 python 二进制文件和库 - 包括 LD_PRELOAD、PYTHONHOME、PYTHONPATH 等。您可能想为此编写一个脚本(获取它,或将其放入 shell 的 rc 脚本中 - 例如 ~/.bashrc对于 bash - 如果您根本不关心运行非 ucs2 python)您可能需要使用 ucs2 python 环境重建/重新安装任何关心 unicode 的 python 库,并将它们安装在 /usr/local 下。

    最后,将您公司的ucs2软件包安装在/usr/local下。这些可能还需要重新构建才能安装在 /usr/local 下。

无论哪种方式,您都应该重新安装 fedora python 软件包,以解除系统中需要安装 python 的所有其他内容(包括 yum)

相关内容