昨天把redmine的測試環境給搞Over了,想了下,乾脆直接把環境給整成docker化的,配置環境的時候,安裝docker-compose需要python2.7支援。
CentOS 6 系統預設 Python 版本是:2.6.6 ,需要升級到 2.7 以上的庫才行,記錄升級過程。
1. 準備系統安裝包
# 下載安裝依賴的相關包 [root@vip ~]# yum install vim gcc make wget -y [root@vip ~]# yum install openssl-devel zlib-devel readline-devel sqlite-devel -y
#下載python包
# cd /usr/local/src # wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz # 解壓 # tar -zxvf Python-2.7.10.tgz # ls Python-2.7.10 Python-2.7.10.tgz
2. 編譯配置安裝
# cd Python-2.7.10 # ./configure --enable-shared --enable-loadable-sqlite-extensions \ --prefix=/usr/local/python27 --with-zlib --with-ssl # vim ./Modules/Setup # 找到下邊這一行內容,去掉註釋 #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz # make && make install
3. 檢視 python 版本資訊
# python -V Python 2.6.6 # 版本依舊是 2.6.6
4. 用 python2.7 替換舊版本
# cd /usr/bin/ # ls python* -l # 舊 python 版本資訊 -rwxr-xr-x. 2 root root 4864 2月 22 2013 python lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6 # mv /usr/bin/python /usr/bin/python2.6.6 # ln -s /usr/local/python27/bin/python2.7 /usr/bin/python # ls python* -l lrwxrwxrwx. 1 root root 33 10月 23 00:01 python -> /usr/local/python27/bin/python2.7 lrwxrwxrwx. 1 root root 6 10月 22 18:38 python2 -> python -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6 -rwxr-xr-x. 2 root root 4864 2月 22 2013 python2.6.6
5. 重新驗證 Python 版本資訊
# python -V Python 2.7.10
可以看到,系統識別的 python 版本已經是 python 2.7.10
執行 python -V 遇到的問題:
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory # 原因:linux系統預設沒有把/usr/local/python27/lib路徑加入動態庫搜尋路徑
解決:
# vim /etc/ld.so.conf # 新增如下一行內容 /usr/local/python27/lib # ldconfig # 使新新增的路徑生效
解決 yum 相容性問題
因為 yum 是不相容 Python 2.7 的,所以 yum 不能正常工作,我們需要指定 yum 的 Python 為 2.6。
1. 升級 python 後 yum 出現的問題
# yum There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum ... ... ... ...
2. 編輯 yum 配置檔案
# vim /usr/bin/yum #!/usr/bin/python # 第一行修改為 python2.6.6 #!/usr/bin/python2.6.6
3. 驗證 yum 問題解決
# yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ... ... ... ...
升級 python 後,安裝 pip 工具
1、首先檢查linux有沒有安裝python-pip包,終端執行 pip -V
# pip -V -bash: pip: command not found
2、沒有python-pip包就執行命令 yum -y install epel-release
yum -y install epel-release
3、執行成功之後,再次執行yum -y install python-pip
yum -y install python-pip
4、對安裝好的pip進行升級 pip install --upgrade pip
pip install --upgrade pip
5、pip安裝好了,執行pip -V 再次檢查pip環境。
pip -V pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)
yun安裝的pip無法使用?pip更新:
1. 下載安裝
# wget https://bootstrap.pypa.io/get-pip.py # python get-pip.py
2. 設定軟連線
# ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip
安裝 ipython
# pip install ipython==1.2.1 # ln -s /usr/local/python27/bin/ipython /usr/bin/ipython