Linux操作系统安装Python3并和python2共存

Linux操作系统安装Python3并和python2共存

PS: Centos自带python2,由于执行yum需要python2,所以即使安装了python3也不能删除python2

1.安装依赖包

   yum -y groupinstall  "Development tools" 

   yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下载自己需要的python版本

 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3 新建一个文件夹存放python3

  mkdir   /usr/local/python3

4 编译安装python3

 mv Python-3.6.2.tar.xz  /usr/local/python3
 tar -xvf Python-3.6.2.tar.xz 
 cd  Python-3.6.2
 . /configure --prefix=/usr/local/python3
make && make install

5 创建软连接

mv /usr/bin/python python.backup  //把原先的默认python命令注释掉,不然下面就不能修改成python3版本,你创建软连接时她会说你文件已存在不能创建新的软连接。

ln -s /usr/local/python3/bin/python3 /usr/bin/python3  //使输入python3直接显示python3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3  //使输入pip3直接显示pip3

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip  //使输入pip直接显示pip

ln -s /usr/local/python3/bin/python3 /usr/bin/python  //使输入python直接显示python3

6 修改yum配置文件,python2与python3共存

 vi /usr/bin/yum  

 vi  /usr/libexec/urlgrabber-ext-down

yum需要把Python2改到配置文件里,因为现在默认的是python3,这样可以使Python3共存,并保持yum命令可用

具体是把#! /usr/bin/python改成#!/usr/bin/python2 

7.最后查看版本看是否改成了3.x

pip -V

python -V

下面是我自己写的脚本,本人是个新手,希望各位朋友多多指点。

#! /bin/bash

echo 正在检测网络状态

  ping -c 3 www.baidu.com  &> /dev/null

   if [ $? -eq 0 ]      

   then

 echo "正跟您网络安装"  

 yum -y groupinstall  "Development tools" 

 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

   while read -p  "请输入Python安装版本号:"  banben 

     do 

    find  /  -name  Python-"$banben".tar.xz &>/dev/null

if [ $? -eq 0 ]

        then 

     echo   安装文件李有该软件包,准备安装。

          break

        else 

         echo 正在下载

           wget https://www.python.org/ftp/python/$banben/Python-"$banben".tar.xz  &> /dev/null

             if  [ $? -eq 0 ]

               then

         echo "下载完成,开始安装"  

                 break

           else

             echo  "您输入的版本有误,请重新输入" &&  continue   

             fi

      fi

   done

 mkdir /usr/local/python3

 cp  -rp  Python-"$banben".*   /usr/local/python3

  cd /usr/local/python3

 tar -xvf  Python-"$banben".*

 cd  Python-"$banben"

./configure --prefix=/usr/local/python3

make && make install 

echo "创建软连接"

mv /usr/bin/python python.backup

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

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

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

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

 sed -i "1s@.*@#! /usr/bin/python2@" /usr/bin/yum

 sed -i "1s@.*@#! /usr/bin/python2@"  /usr/libexec/urlgrabber-ext-down

else   


    echo "您的网络不通,现在跟您本地安装" 

 yum -y groupinstall  "Development tools"

 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

  mkdir /usr/local/python3

  cp    /root/python-anzhuang/Python3.6.2.*    /usr/local/python3

  cd /usr/local/python3

  tar -xvf  Python*

  cd   /usr/local/python3/Python*

 ./configure  --prefix=/usr/local/python3

 make && make install 

 echo "创建软连接"

 mv /usr/bin/python   python.backup

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

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

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

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

sed -i "1s@.*@#! /usr/bin/python2@" /usr/bin/yum

sed -i "1s@.*@#! /usr/bin/python2@"    /usr/libexec/urlgrabber-ext-down

fi

a=`python -V |  awk '{print $2}'`

 echo $a

if [[ $a =~ ^[3-9].[0-9].[0-9] ]]

then

 echo "success"

 else

echo "flase"

fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值