因為環境或學習的需要,我們可能需要在服務器上安裝多個python版本,安裝一個更新的python版本后,使用軟鏈來進行共存。
這個時候需要進行源碼編譯安裝。
當然后續開發項目可以直接跑在虛擬環境下隔離開來,就不再需要在服務器上安裝多個不同版本的包了。
下載Python源碼
從http://www.python.org/download/根據需要的版本下載源文件。
例如上圖就是我在官網直接找到3.5.6版本的下載頁面,點擊的tar源碼包進行下載。
編譯安裝
補充
注意編譯安裝python前最好先保證系統己安裝上以下庫
yum install zlibyum install zlib-develyum install opensslyum install openssl-develyum install readline-devel
解壓源碼包
tar zxvf Python-3.5.6.tgzcd Python-3.5.6
配置選項
sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline
--enable-optimizations 為最優安裝,建議使用這個參數。
--prefix為指定安裝的路徑
進行編譯安裝
sudo makesudo make install
修改Python軟鏈
默認python命令是在/usr/bin/目錄下,需要在這里把軟鏈修改成3.5.6的版本,順便建立一個3.5.6的軟鏈。
上圖是原默認軟鏈接,是python2.7的,其實它也己經默認建立了一個python2的軟鏈接了。
重新命名默認python軟鏈接為python2.7以便3.5的版本成為默認環境變量
sudo mv /usr/bin/python /usr/bin/python2.7
建立python3.5版本的軟鏈接
sudo ln -s /usr/local/python-3.5.6/bin/python3.5 /usr/bin/python
當然,也可以不做上一步,而是將3.5版本的軟鏈接成python3之類也是可行的。
比如我做的就是新增python3的軟鏈接指向python3.5所在的目錄。
順便也將配置文件也做了一個軟鏈接指向:
sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config
補充
注意 如無特別需要,推薦命名成不同python的軟鏈接,因為你會發覺要是你直接改了原來指向舊版本的軟鏈接的話,pip,virtualenv等依賴原版本python的工具需要改它的py文件頭的環境變量。
如果你修改了原軟鏈接,使得python實際指向的是新版本的python的話,pip等仍依賴舊版本的工具要么重裝要么修改它py文件的首行,按實際情況重新指向你的舊版本原版本的python環境,例如此處我就可直接改成/usr/bin/python2
新聞熱點
疑難解答