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
> 其他软件出现类似问题,使用相同方法解决即可。