CentOS6.5 下将 Python2.6.6 升级到Python3.5

一、 从Python官网到获取Python3的包, 切换到目录/usr/local/src

1 #wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz

 

二、 使用命令如下命令进行解压缩:

xz -d Python-3.5.1.tar.xz // 将xz文件解压
tar -xf Python-3.5.1.tar

 

三、 在/usr/local路径下创建目录--python3.5, 为第4步的安装目录

1 $mkdir /usr/local/python3.5

 

四、 编译安装

1 $cd /usr/local/src/Python-3.5.1
2 #./configure --prefix=/usr/local/python3.5
3 #make all
4 #make install
5 #make clean
6 #make distclean

 

五、 进入安装的绝对路径,检查是否安装成功

1 $ /usr/local/python3.5/bin/python3.5 -V
2 Python 3.5.1

 

六、查看环境变量,启动python时默认按照PATH的顺序进行查找,在/usr/bin中的python此时为Python2.6.6的。

1 $echo $PATH
2 /usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/gordon/bin

 

七、修改软连接,启动python时指向python3.5

1、备份python

mv  /usr/bin/python  /usr/bin/python2.6.6 // 备份centos中默认2.6.6的python

 

2、修改软连接

1 sudo ln -s /usr/local/python3.5/bin/python3 /usr/bin/python

 

3、 验证默认是否启动python3.5

1 $ python -V
2  Python 3.5.1

 

八、此时,系统中的yum命令将不能使用,因为其依赖原来的python2.6.6 修改yum的第一行:

1 vim /usr/bin/yum
2 #!/usr/bin/python2.6.6

 可能还需要修改该路径下的第一行

 vim /usr/libexec/urlgrabber-ext-down 将 #! /usr/bin/python 改成  #!/usr/bin/python2.6.6

遇到的错误:

升级了python之后,需要重新安装pip命令。要不然pip安装的路径会出错。(因为之前安装python的时候,可能设置--prefix参数),最好是用源码安装的方式重新安装(http://www.cnblogs.com/hoojjack/p/8672612.html)

1、pip 错误

1 [root@docker Python-3.5.1]# pip
2 Traceback (most recent call last):
3   File "/usr/bin/pip", line 7, in <module>
4     from pip._internal import main
5 ImportError: No module named 'pip._internal'

说明pip的映射文件没有安装正确,在安装python3.5时,默认会安装pip3.5

备份原来系统默认的:mv  /usr/bin/pip  /usr/bin/pip_bak,创建pip3.5的软链接  ln -s /usr/local/bin/pip3.5  /usr/bin/pip

1 [root@docker local]# mv /usr/bin/pip /usr/bin/pip_bak
2 [root@docker local]# ln -s /usr/local/bin/pip3.5 /usr/bin/pip
3 [root@docker local]# pip
4 
5 Usage:   
6   pip <command> [options]

 

2、You are using pip version 7.1.2, however version 10.0.1 is available.You should consider upgrading via the 'pip install --upgrade pip' command.

1 [root@docker local]# pip install --upgrade pip

 

3、升级后,交互模式下方向键、退格键 Backspace 等出现乱码的问题。

yum install readline  readline-devel

如果发现系统中已经有readline 库了,只是在/lib64/目录中,于是乎,做了软链到/usr/lib/ 和 /usr/lib64/

ln -s  /lib64/libreadline.so.6 /usr/lib/

ln -s  /lib64/libreadline.so.6 /usr/lib64/

ln -s  /lib64/libreadline.so.6.0 /usr/lib/

ln -s  /lib64/libreadline.so.6.0 /usr/lib64/

重新编译安装一遍python35,问题可以解决。

 

Reference:

[1] https://blog.csdn.net/nkd50000/article/details/79257881

[2] https://alfred-long.iteye.com/blog/1959853

转载于:https://www.cnblogs.com/hoojjack/p/8672435.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值