簡體   English   中英

在已經使用Python 2.7的系統上從源代碼編譯Python 2.7.3

[英]Compile Python 2.7.3 from source on a system with Python 2.7 already

我希望從源代碼編譯Python 2.7.3。 操作系統是OpenSUSE 11.4 x86_64,已經提供了Python 2.7。 我想將2.7.3用於最新的安全補丁,但它是一個共享系統,所以我不能修改系統Python解釋器。

我使用./configure --prefix=/opt/python --enable-shared編譯。 沒有配置錯誤,所以我make 再沒有錯誤。 我做make install (我認為我不需要make altinstall ,因為/opt/python安裝前綴尚未使用)。

當我嘗試運行新的二進制文件/opt/python/bin/python ,Python宣布其版本為2.7,而不是2.7.3。 我發現糾正這個問題的唯一方法是移動系統的/usr/lib64/libpython2.7.so.1.0 ,並將其符號鏈接到/opt/python/lib/python/libpython2.7.so.1.0 這是有效的,Python宣布它是2.7.3,但這打破了系統Python。

無論如何我可以讓兩者共存,例如讓/opt/python使用自己的libpython嗎? 除了在運行時提供LD_LIBRARY_PATH。 有編譯時解決方案嗎? 謝謝。

為避免每次啟動Python時都必須使用LD_LIBRARY_PATH指定運行時庫路徑,可以使用-rpath鏈接器選項在構建時指定它:

./configure --enable-shared --prefix=/opt/python \
            LDFLAGS=-Wl,-rpath=/opt/python/lib

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM