centos6升级python版本至python3.5

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

 

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 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/

 

1 ln -s  /lib64/libreadline.so.6 /usr/lib/
2 
3 ln -s  /lib64/libreadline.so.6 /usr/lib64/
4 
5 ln -s  /lib64/libreadline.so.6.0 /usr/lib/
6 7 ln -s /lib64/libreadline.so.6.0 /usr/lib64/

 

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

 

posted @ 2019-08-15 17:32  New_Journey  阅读(839)  评论(0编辑  收藏  举报