目录

linux下python2与python3并存

目录

linux下python2与python3并存

ambari底层的协议是走python2的,但是storm和spark运行python脚本的时候,需要python3的方法,所有这时候就需要python2与python3并存。

1、查看Python2的版本

ambari默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。

使用 python -V 查看python版本

https://i-blog.csdnimg.cn/blog_migrate/6669515a01f44ca0b9c2abbe096f4a43.png

然使用 which python 查看一下Python可执行文件的位置

https://i-blog.csdnimg.cn/blog_migrate/bd72984ccdcd973f0f43909e43fb69aa.png

到cd /usr/bin/目录下查看python的可执行文件 ,切换到该目录下执行 l命令查看

ll python*

https://i-blog.csdnimg.cn/blog_migrate/396d3e152cf1aa0bffbcee0cddfabf02.png

#python 指向的是python2.7

2、准备python3的环境

需要安装python3版本,所以python要指向python3,目前还没有安装python3,先备份,备份之前先安装相关包,用于下载编译python3

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

https://i-blog.csdnimg.cn/blog_migrate/6bbdbb39c031371de77aa57014ba92eb.png

然后备份

mv python python.bak

https://i-blog.csdnimg.cn/blog_migrate/226f801c103ed705c8b50b0c647b01bd.png

3、安装python3

#去官网下载编译安装包或者直接执行以下命令下载

wget

#执行wget命令提示 -bash: wget: command not found

yum -y install wget

#解压

tar -xvJf Python-3.6.2.tar.xz

#切换进入

cd Python-3.6.2

编译安装

./configure prefix=/usr/local/python3

make && make install

4、建立软连接

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

https://i-blog.csdnimg.cn/blog_migrate/2c0a0e751db574aa86b8082eaa3a2adb.png

可以看到软链创建完成

5、查看是否安装成功

输入python -V 查看python3的版本

输入python2 -V 查看python2的版本

https://i-blog.csdnimg.cn/blog_migrate/253bb9977548586c9f27ee8901b6a685.png

6、修改yum的配置

yum需要python2版本,所以我们还要修改yum的配置,执行:

vim /usr/bin/yum

把#! /usr/bin/python修改为#! /usr/bin/python2

https://i-blog.csdnimg.cn/blog_migrate/ec8936f4d638f466fda32bf3b0365320.png

vim /usr/libexec/urlgrabber-ext-down

把#! /usr/bin/python 也要修改为#! /usr/bin/python2

https://i-blog.csdnimg.cn/blog_migrate/35edcc33cd1af7a344f42b62da40c7a0.png

这样python3版本就安装完成;同时python2也存在

python -V 版本3

python2 -V 版本2

7、配置pip

Python3装完后,默认已经安装了pip3

#查看pip3版本 pip -V

https://i-blog.csdnimg.cn/blog_migrate/305f8812511f77e79199dd9998993df2.png

如果显示的是空或者

pip 18.1 from /usr/local/python2.7/lib/python3.6/site-packages/pip (python 2.7)

#cd /usr/bin ,mv pip pip.bak

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip