centos6.4和6.6下把python2.6.X升级到2.7.9

先声明下,本以为在centos下升级python很easy,,没想到是个大坑。有的能装好,但是不能用。各种缺失吧,非常蛋疼。

下面整理下思路,从python2.6.X升级到python2.7.9,同时安装了setuptools以及pip

1、从python2.6.X升级python到2.7.9

CentOS 6.X默认的Python版本都是2.6 ,需要升级到2.7以及安装pip方法如下:

准备:

yum install bzip2 bzip2-devel -y
yum install zlib zlib-devel -y
yum install openssl openssl-devel -y

下载python2.7源码,编译安装:

  • wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
    tar zxvf Python-2.7.9.tgz
    cd Python-2.7.9
    ./configure
    make -j4
    make install

然后需要配置一下
建立软链接,默认指向Python2.7
mv /usr/bin/python /usr/bin/python2.6_temp
ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V # Python 2.7.9

yum不兼容Python2.7,需要指定为原版本
vi /usr/bin/yum
# 将"!/usr/bin/python"改为"!/usr/bin/python2.6"

# 环境变量
vi /etc/profile
# 添加如下内容:
PY_HOME=/usr/local/bin/python2.7
export PATH=PATH
source /etc/profile # 当前终端生效,reboot后才会完全生效
echo $PATH
如果你升级python失败,用这个方法,这个方法可以直接搞定!

解决交互式乱码问题 (参考 http://blog.csdn.net/clevercode/article/details/45438747)

2)解决方案。
这个问题主要是由于缺少readline Module问题导致的。而CentOS默认只有readline模块而没有readline-devel开发模块。所以只要安装下即可。

  • yum -y install readline-devel
    重新编译安装python

  • cd Python2.9 #回到解压目录**

  • ./configure **

  • make #编译

  • make install 安装

搞定

2、安装setuptools

  • wget https://pypi.python.org/packages/6b/dd/a7de8caeeffab76bacf56972b3f090c12e0ae6932245abbce706690a6436/setuptools-28.3.0.tar.gz#md5=a46750b6bd90a1343466bd57b0e2721a
  • tar zxvf setuptools-28.3.0.tar.gz
  • cd setuptools-28.3.0
  • python setup.py install

3、安装pip

备注wget加空格加https....

  • wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4
  • tar pip-8.1.2.tar.gz
  • tar zxvf pip-8.1.2.tar.gz
  • cd pip-8.1.2
  • python setup.py install

4. pip配置

【python】升级pip后报错解决pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is required by the application

原本使用pip版本为7.1.0,后升级至9.0.1 之后使用pip list提示pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is required by the application 解决方法: vim /usr/bin/pip ------------------- #!/usr/bin/python # EASY-INSTALL-ENTRY-SCRIPT: 'pip==7.1.0','console_scripts','pip' requires = 'pip==9.0.1' import sys from pkg_resources import load_entry_point if name == 'main': sys.exit( load_entry_point('pip==9.0.1', 'console_scripts', 'pip')() ) ------------------- 将里面pip==后面的版本改为安装的pip版本即可

你可能感兴趣的:(centos6.4和6.6下把python2.6.X升级到2.7.9)