centos下升级python2.6到python3.6

python升级流程

1、查看旧版本

python -V

2、下载新版python

cd /home/centos/Downloads    # 进入存放目录
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz    # 获取新版的 python

3、解压安装

> tar xvf Python-3.6.1.tar.xz    # 解压文件
> cd ./Python-3.6.1     # 进入解压后的文件目录
> mkdir /usr/local/python3    # 创建编译安装目录

编译安装之前需要注意:

  1. 是否安装了openssl和openssl-devel,命令:rpm -aq | grep -i openssl
  2. 在编译安装之前,一定要先修改一下Modules/setup.py这个文件,具体修改内容如下:
    sqlite_inc_paths = [ '/usr/include',
                   '/usr/local/sqlite3/include', #增加该行
                   '/usr/include/sqlite',
                   '/usr/include/sqlite3',
                   '/usr/local/include',
                   '/usr/local/include/sqlite',
                   '/usr/local/include/sqlite3',
                   ]
    
  3. 用yum安装sqlite-devel
> ./configure --prefix=/usr/local/python3    # 配置编译安装目录
> make && make install    # 编译安装

4、配置

> mv /usr/bin/python /usr/bin/python_old    # 备份旧的python
> ln -s /usr/local/python3/bin/python3 /usr/bin/python    # 把新的 python3 链接到 python

5、问题解决

1、缺少zlib

报错:

zipimport.ZipImportError: can't decompress data; zlib not available

解决:
1.下载源码: http://www.zlib.net/(文件已保存在云笔记同级目录下了)
2.解压安装:

# cd /home/centos/Downloads/
# tar zxvf zlib-1.2.11.tar.gz 
# cd zlib-1.2.11
# ./configure
# make && make install

3.重新安装 python3

2、yum不可用

报错:

# yum search    # 安装完后导致 yum 不可用
File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                                ^
SyntaxError: invalid syntax

解决:

# vi /usr/bin/yum
# !/usr/bin/python  改成: #!/usr/bin/python_old
# yum search
3、修改环境变量

我们将python3安装在了自定义的位置,这样会导致之后通过pip安装的插件不能直接使用命令,所以需要将python目录下的bin目录加入到环境变量中,修改环境变量的方法,修改/etc下的profile文件,记得修改完后要source一下该文件使之马上生效

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /sbin
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
    pathmunge /usr/local/python3/bin #添加行
else
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
    pathmunge /sbin after
    pathmunge /usr/local/python3/bin after #添加行
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值