将CentOS系统默认的python手动升级最新到2.7.13版本

来源:互联网 发布:淘宝散货耳机 编辑:程序博客网 时间:2024/06/06 03:11

CentOS系统自带的python通常为2.6的,可能一些情况下需要升级到最新,目前2版本最新的为2.7.13.

完整升级需要做以下几项事情:

  1. 为yum保留老版本,更改yum中调用的python路径;
  2. 安装python2.7.13新版本;
  3. 安装pip工具;**

一、更改yum调用的python路径

1. 查看原来python版本

[root@dqy-temp ~]# python -VPython 2.6.6

2. 查看python可执行命令

[root@dqy-temp ~]# cd /usr/bin/[root@dqy-temp bin]# ll python*-rwxr-xr-x. 2 root root 4864 2016-08-18 23:14 pythonlrwxrwxrwx. 1 root root    6 2017-02-03 23:01 python2 -> python-rwxr-xr-x. 2 root root 4864 2016-08-18 23:14 python2.6

3. 修改yum命令

vi /usr/bin/yum

将第一行的:

#!/usr/bin/python

改为:

#!/usr/bin/python2.6

4. 测试yum并为后续安装依赖

至此yum命令修改完成,可以测试下,没有报错则正确。

# wget为网络下载工具,后续命令中要用到# gcc为编译工具,源码安装时要用到# vim为文本编辑工具,替换vi用yum -y install wget vim gcc# 涉及到ssl,后续pip访问https要用到,具体不解释,也是网上找的yum -y install Python-devel libffi-devel openssl-devel# 不解释,也是网上找的yum -y install readline readline-devel

二、源码安装python2.7.13

1.下载源码包

# 进入root主目录cd ~# 下载源码包wget  --no-check-certificate https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz 

2.解压到任意目录

# 直接解压到root主目录tar -zxvf Python-2.7.13.tgz

3.安装前修改源码包

若不提前修改,安装好后会有依赖找不到,会一直报错,最终还是要重新安装(自己踩过的坑)

vim ~/Python-2.7.13/Modules/Setup.dist# 将如下行前面的#注释号去掉readline readline.c -lreadline -ltermcap# 将如下行前面的#注释号去掉zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz# 将如下行前面的#注释号全去掉SSL=/usr/local/ssl_ssl _ssl.c \-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \-L$(SSL)/lib -lssl -lcrypto#保存,退出

4.编译安装

# 进入源码目录cd ~/Python-2.7.13# 编译,并指定安装位置./configure --prefix=/usr/local/python2.7.13# 大约一两分钟,验证编译是否正确,若如下命令输出0则正确,非0则错误echo $?# 安装:前一步编译通过以后执行make && make install

5.设置环境变量

# 备份-并删除系统路径下老版本可执行文件mv /usr/bin/python /usr/bin/python-oldmv /usr/bin/python2 /usr/bin/python2-old# 添加新版可执行文件cp /usr/local/python2.7.13/bin/python /usr/bin/pythonln -s /usr/local/python2.7.13/bin/python /usr/bin/python2

6.验证python2.7.13

# 如提示2.7.13则安装正确[root@dqy-temp ~]# python -VPython 2.7.13

三、安装pip

1. 安装pip前先安装setuptools

# 官网可以下载到安装包https://pypi.python.org/pypi/setuptools# 下载$wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz#md5=f07e4b0f4c1c9368fcd980d888b29a65 # 安装$ tar -zxvf setuptools-12.0.3.tar.gz$ cd setuptools-12.0.3$ python setup.py install

2. 安装pip

# 官网下载pip:若是链接失效则自己去官网下载$wget --no-check-certificate https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9# 安装$ tar -zxvf pip-9.0.1.tar.gz$ cd pip-9.0.1$ python setup.py install# 将pip添加的系统path中ln -s /usr/local/python2.7.13/bin/pip /usr/bin/pip# 验证pip安装是否正确:若成功则大功告成pip install requests# 忽略中间某些步骤很可能pip也安装成功,但用来安装requests等库时可能会报错。pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.Collecting xxxCould not fetch URL https://pypi.python.org/simple/xxxx/: There was a problem confirming the ssl certificate: Can’t connect to HTTPS URL because the SSL module is not available. - skippingCould not find a version that satisfies the requirement xxx (from versions: )No matching distribution found for xxx