Footsteps on my way !
perl/linux/测序分析

centos 7安装python 2

虽然centos自带python2,但是一般没有pip包管理器,并且命令yum是调用这个python(看yum的源码,开头就是 #! /bin/usr/python)的。所以如果随意修改python版本可能导致yum命令无法使用。所以要将yum调用的python版本指定到正确的版本。

首先,查看系统(centos 7)的自带python版本:

[root@localhost ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 7 12月 14 23:01 /usr/bin/python -> python2
lrwxrwxrwx. 1 root root 9 12月 14 23:01 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 8月 4 2017 /usr/bin/python2.7

[root@localhost site-packages]# python --version
Python 2.7.5

其次,如果你想要通过命令行输入 python,直接调用新版本的python,而又不影响yum的使用,那么有两种方法:

  1. 第一种是将自定义安装的python路径下的bin目录加入到 环境变量\$PATH,注意应该如下加:在$HOME/.bashrc文件中加
    export PATH=/path/to/new_python/bin:$PATH 
    #安装路径加入到 /usr/bin 的前面,这样系统默认就调用你自己安装的python了
  2. 第二种,将yum调用的python版本指定到正确的版本,避免yum命令无法使用
    [root@localhost ~]# mv /usr/bin/python /usr/bin/python_old #重命名老版本python
    [root@localhost ~]# vim /usr/bin/yum
        #!/usr/bin/python --> 这里改成#!/usr/bin/python_old
        import sys
        try:
            import yum
        ......
  3. 但yum安装软件时需要调用/usr/libexec/urlgrabber-ext-down,这个同样也需要修改python编译器版本
    [root@localhost ~]# vi /usr/libexec/urlgrabber-ext-down
    #! /usr/bin/python --> 这里改成#!/usr/bin/python_old
    # A very simple external downloader
    # Copyright 2011-2012 Zdenek Pavlas
    ......

安装python 2.7.15 (与安装python3类似:http://yangl.net/2018/03/07/centos7_install_python3/)

  1. 下载python 2.7.15:https://www.python.org/downloads/
    [root@localhost soft_backup]# wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
  2. 解压,编译,安装
    [root@localhost soft_backup]# tar -zxvf Python-2.7.15.tgz
    [root@localhost soft_backup]# cd Python-2.7.15/
    [root@localhost Python-2.7.15]# ./configure --prefix=/share/soft/python-2.7.15
    [root@localhost Python-2.7.15]# make
    [root@localhost Python-2.7.15]# make test
    [root@localhost Python-2.7.15]# make install
  3. 最后创建软链接
    [root@localhost python-2.7.15]# rm /usr/bin/python #删除老版本python软链接
    rm:是否删除符号链接 "/usr/bin/python"?y
    [root@localhost python-2.7.15]# ln -s /share/soft/python-2.7.15/bin/python /usr/bin/python
  4. 安装pip,python2和python3不一样,没有自带pip包管理器,所以需要自己安装,根据官方说明文档:https://pip.pypa.io/en/stable/installing/#id9
    a. 下载get-pip.py 

     curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

    b. 安装 pip ,get-pip.py会自动根据你调用的python,将pip安装到你python的安装位置,比如我的python安装在/share/soft/python-2.7.15目录下,pip也就对应的安装在了/share/soft/python-2.7.15/bin目录下,pip安装第三包文件的目录也就默认为/share/soft/python-2.7.15/lib/python2.7/site-packages

    [root@localhost site-packages]#python get-pip.py

    c. 链接到环境变量目录下:

    [root@localhost site-packages]# ln -s /share/soft/python-2.7.15/bin/pip /usr/bin/pip

参考:

https://segmentfault.com/q/1010000010213981

尊重他人劳动成果,转载请注明出处:Bluesky's blog » centos 7安装python 2

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址