CentOS6.5升級Python到2.7並安裝pip

1.下載安裝python2.7

安裝前準備:

yum install zlib-devel openssl-devel -y

:在編譯安裝python2.7之前必須先安裝zlib-devel包,不然在安裝setuptools時會出現以下錯誤:

AttributeError: 'NoneType' object has no attribute 'decompressobj'

下載安裝:

wget wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar xf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure --prefix=/usr/local/python2.7
make && make install

建立軟連接,使系統默認的 python指向 python2.7:

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

解決yum不兼容python2.7問題:

sed -i 's#!/usr/bin/python#!/usr/bin/python2.6.6#g' /usr/bin/yum

2.安裝pip

安裝setuptools:

wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
python ez_setup.py

下載安裝pip:

wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz 
tar zxf 1.5.5.tar.gz
python setup.py install

:編譯安裝python之前必須安裝openssl,openssl-devel包,否則會出現以下錯誤:

[root@localhost pip-1.5.5]# pip list
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    load_entry_point('pip==1.5.5', 'console_scripts', 'pip')()
  File "build/bdist.linux-i686/egg/pkg_resources/__init__.py", line 558, in load_entry_point
  File "build/bdist.linux-i686/egg/pkg_resources/__init__.py", line 2682, in load_entry_point
  File "build/bdist.linux-i686/egg/pkg_resources/__init__.py", line 2355, in load
  File "build/bdist.linux-i686/egg/pkg_resources/__init__.py", line 2361, in resolve
  File "/usr/local/python2.7/lib/python2.7/site-packages/pip-1.5.5-py2.7.egg/pip/__init__.py", line 10, in <module>
    from pip.util import get_installed_distributions, get_prog
  File "/usr/local/python2.7/lib/python2.7/site-packages/pip-1.5.5-py2.7.egg/pip/util.py", line 18, in <module>
    from pip._vendor.distlib import version
  File "/usr/local/python2.7/lib/python2.7/site-packages/pip-1.5.5-py2.7.egg/pip/_vendor/distlib/version.py", line 14, in <module>
    from .compat import string_types
  File "/usr/local/python2.7/lib/python2.7/site-packages/pip-1.5.5-py2.7.egg/pip/_vendor/distlib/compat.py", line 31, in <module>
    from urllib2 import (Request, urlopen, URLError, HTTPError,
ImportError: cannot import name HTTPSHandler

參考資料:http://my.oschina.net/pangyangyang/blog/191863

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章