Fedora
用 UCS2 替換用 UCS4 建構的 python
我已經用 python 2.7.1-7.fc15 安裝了 fedora fc15。它是用 ucs4 建構的,我這裡有一些用 ucs2 建構的包。我現在無法建構使用這些 ucs2 包的其他包,因為我的 python 是 ucs4。問題是,一旦我刪除了 python,yum 就不起作用了,事情變得複雜了。解決這個問題的最佳方法是什麼,獲得 ucs2 python 和所有?請注意,我無法影響使用 ucs2 建構的預建構公司二進製文件以使用 ucs4 建構。
謝謝
我認為您有兩個基本選擇:
- 如果您有權訪問原始碼或 srpm,請為 ucs4 python 重新編譯您的 ucs2 包。例如,如果您需要與其他需要 ucs2 的機器通信或共享數據,這可能不切實際。例如一個數據庫。我提到這個選項主要是為了完整性 - 從你所說的來看,它不太可能是一個可行的選擇。
- 在 /usr/local 中編譯並安裝一個 ucs2 版本的 python(最好使用GNU Stow來安裝它,以獲得一個包會給你帶來的一些好處)。
將環境設置為指向 ucs2 python 二進製文件和庫 - 包括 LD_PRELOAD、PYTHONHOME、PYTHONPATH 等。您可能想要為此編寫一個腳本(獲取它,或將其放入 shell 的 rc 腳本中 - 例如 ~/.bashrc對於 bash - 如果您根本不關心執行非 ucs2 python)您可能需要使用您的 ucs2 python 環境重建/重新安裝任何關心 unicode 的 python 庫並將它們安裝在 /usr/local 下。
最後,在 /usr/local 下安裝貴公司的 ucs2 軟體包。這些可能還需要重建以安裝在 /usr/local 下。
無論哪種方式,您都應該重新安裝 fedora python 包以解除系統中需要安裝 python 的所有其他內容(包括 yum)