python2.7源碼編譯安裝

最近學習docker容器,由於平時用的linux髮型版都是centos6系列,全部pull了一個centos:6.6的景像,運行景像,進入容器後,發現其默認的python環境是2.6,爲了更好的兼容咱們公司的一些腳本,要升級python版本至少爲2.7。下面就是升級python的過程以及可能遇到的問題。python

1.首先要安裝一些必要的庫

centos6.6的docker容器中是沒有gcc庫的,首先安裝gcc庫linux

yum install gcc

安裝其餘必要庫,這些庫要在編譯python源碼前安裝,在後續安裝pip的過程當中由於缺失這些致使從新編python譯源碼n次,着實煩惱啊。docker

yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
2.下載python源碼包及其餘必要工具包

首先下載python源碼包,官網下載地址 https://www.python.org/downloadscentos

wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz

解壓到指定目錄python2.7

tar -xzf Python-2.7.14.tgz

下載setuptool和pip(用來管理python依賴包)socket

wget https://pypi.python.org/packages/41/5f/6da80400340fd48ba4ae1c673be4dc3821ac06cd9821ea60f9c7d32a009f/setuptools-38.4.0.zip#md5=3426bbf31662b4067dc79edc0fa21a2e
 
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9
3.編譯python源碼

首先生成python安裝路徑,我這裏將安裝路徑放在/usr/local下面工具

mkdir /usr/local/python2.7

進入解壓的源碼路徑,運行下面命令生成Makefile學習

./configure --enable-optimizations --prefix=/usr/local/python2.7/

--enable-optimizations 爲最優安裝,建議使用這個參數。--prefix 聲明安裝路徑code

修改 Modules/Setup 文件,修改內容以下ip

# Socket module helper for SSL support; you must comment out the other
    # socket line above, and possibly edit the SSL variable:
    #SSL=/usr/local/ssl
    _ssl _ssl.c \
            -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
            -L$(SSL)/lib -lssl -lcrypto

默認這塊是註釋的,放開註釋即開。這塊功能是開啓SSL模塊,否則會出現安裝完畢後,提示找不到ssl模塊的錯誤。

Makefile生後依次在當前路徑執行編譯和安裝命令

make & make install

以上命令執行完畢,且無報錯的狀況下,咱們將默認python換將切換至2.7,保險起見現將軟鏈備份。

cd /usr/bin

mv python python.bak

創建新的軟鏈

ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python

運行命令python -V,查看是否出現2.7的版本,出現即爲安裝成功。

4.安裝pip工具

首先進入setuptools的解目錄,執行命令

python setup.py install

命令執行成功後,在進入pip-9.0.1的解壓目錄,執行命令

python setup.py install

至此,咱們的升級工做完成。

相關文章
相關標籤/搜索