linux centos7 安装python3.6 替换默认python2.7

- 安装python3.6可能使用的依赖

    yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

- 到python官网找到下载路径, 用wget下载

    wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

- 解压tgz包

    tar -zxvf Python-3.6.4.tgz

- 把python移到/usr/local下面

    mv Python-3.6.4 /usr/local

- 删除旧版本的python依赖

    ll /usr/bin | grep python

    rm -rf /usr/bin/python

- 进入python目录

    cd /usr/local/Python-3.6.5/

- 配置

    ./configure

- 编译 make

    make

- 编译,安装

    make install

- 删除旧的软链接,创建新的软链接到python

    rm -rf /usr/bin/python

    ln -s /usr/local/bin/python3.6 /usr/bin/python

    python -V


- 问题解答
yum由于默认使用的python2,我们直接覆盖了原来的python,这是yum就出现了问题。
所以:如果是软链接直接覆盖替换了2.7.5版本,则需要在yum的配置文件中修改头部环境变量行,显示指定python2.7.5的bin位置

*具体操作*
> 打开 vim /usr/bin/yum
将第一行:#!/usr/bin/python 修改为 /usr/bin/python2.7
保存即可


> 但在使用yum的时候,还会保错,比如:
SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28
这个时候,还是因为环境变量行中默认是python3的环境变量而导致的,跟上面一样:
打开/usr/libexec/urlgrabber-ext-down 文件
将   #! /usr/bin/python   修改为#! /usr/bin/python2.7 

> 其他软件出现类似问题,使用相同方法解决即可。

猜你喜欢

转载自www.cnblogs.com/fixdq/p/9879285.html