Ubuntu16.04安装Python3.8,3.7,3.9(含卸载方法,支持多版本共存)

Ubuntu16.04安装Python3.8,3.7,3.9(含卸载方法,支持多版本共存)


文章目录

  • Ubuntu16.04安装Python3.8,3.7,3.9(含卸载方法,支持多版本共存)
  • 前言
  • 一、前期准备(所有版本)
  • 1. 安装所需依赖
  • 2. 配置Python版本切换
  • 二、Python3.8(3.8.11–详细图解)
  • 1.下载源码安装包
  • 2.创建安装目录
  • 3.解压安装包
  • 4.配置将要安装的目录
  • 5.编译源码
  • 6.安装
  • 7.添加环境变量
  • 8. 添加和选择python&python3命令指向
  • 9.pip安装依赖包
  • 10.删除安装文件
  • 11.卸载方法(安装时`无需`操作)
  • 三、Python3.7(3.7.9–已测试)
  • 四、Python3.9(3.9.13–已测试)

  • 前言

    本文将按照Python的各个版本进行介绍的是Ubuntu16.04下安装相应版本Python的过程,可选择所需的版本进行查看,各个版本的命令基本相同,其中Python3.8的是图解版,其余的是命令版。本文仅在Ubuntu16.04下测试过,对于其他系统版本未测试,一般情况下具有通用性,这里看个人情况而定。
    本文对于Python安装的定位是:独立安装,不修改或覆盖系统原有python的文件,包括软链接,易卸载


    一、前期准备(所有版本)

    1. 安装所需依赖

    sudo apt-get install libffi-dev uuid-dev lzma-dev liblzma-dev libncurses5-dev libgdbm-dev sqlite3 libsqlite3-dev openssl tcl8.6-dev tk8.6-dev libreadline-dev zlib1g-dev build-essential bzip2 libbz2-1.0 libbz2-dev libc6-dev libdb-dev libexpat1 libexpat1-dev libgdbm3 libncursesw5-dev libpcap-dev libreadline5 libreadline6 libreadline6-dev libsqlite0 libsqlite0-dev libsqlite3-0 libssl-dev libssl1.0.0 libxml2-dev libxslt1-dev sqlite tcl tk tk-dev xz-utils zlib1g zlib1g-dev make  
    

    2. 配置Python版本切换

    Ubuntu系统自带有python2.7python3.5,这里先添加这两个的版本切换,即使用pythonpython3两个命令时使用哪个版本的python,由于Ubuntu系统对自带的两个python有一定程度的依赖,本文是不建议切换上述pythonpython3两个命令的Python版本的,否则会带来一些问题。

    例如:升级Python后无法打开终端,系统启动总是提示软件更新时发生错误,无法打开系统设置的软件和更新界面等
    命令的版本对应python => python2.7python3 => python3.5

    ① 查看候选列表中已有的Python版本(没有配置过的话,是不存在的):

    sudo update-alternatives --list python
    


    ② 添加 python & python3 指向选择
    最后的序号表示优先级,数字越大,优先级越高,会自动选取优先级高的作为默认指向,可手动更改默认指向,这里将系统默认的指向的优先级设置为100

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100
    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 99
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 100
    



    ③ 查看候选列表中已有的Python版本

    sudo update-alternatives --list python
    sudo update-alternatives --list python3
    

    此时,python指向python2.7python3指向python3.5

    ④ 创建新版python的安装目录(便于卸载)

    cd /usr/local
    sudo mkdir -p /usr/local/python
    sudo chmod -R 777 ./python
    

    下面将进行各个版本的安装,至于版本号的选择,可自行到下面的网址去找,后续操作中修改其中的版本号即可。
    官方网址:https://www.python.org/ftp/python/


    二、Python3.8(3.8.11–详细图解)

    1.下载源码安装包

    这里选的是Python3.8的3.8.11版,如果下载较慢,可尝试连接手机热点进行下载。如果已准备了安装包,可以跳过该步骤。

    cd ~
    wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz
    

    2.创建安装目录

    在上述前期准备中,已经在/usr/local目录下创建了一个python目录,那么各个新安装的python都将放在这里(安装多个的情况下),那么需要对每个版本的进行独立分包。实际上安装时如果没有创建会自动创建。

    cd /usr/local/python
    mkdir ./python3.8
    

    3.解压安装包

    cd ~
    tar -xf ~/Python-3.8.11.tgz
    

    4.配置将要安装的目录

    这里的configure的参数配置有些门道,如果你想设置更多的东西,可以自行去查找。博主不想,所以下面的就足够了

    cd ~/Python-3.8.11
    ./configure prefix=/usr/local/python/python3.8 --enable-optimizations
    


    5.编译源码

    很多教程都是编译和安装一起的,个人觉得,编译过程是会有一些问题的,例如某个模块不能编译,但是即使这样,安装还是会进行,这样就不是很好。
    编译时间会比较长,耐心等待。。。。

    cd ~/Python-3.8.11
    make -j 2
    


    6.安装

    一定要使用altinstall,看过的教程有说明过使用install会覆盖安装,可能会导致Ubuntu崩溃的情况。

    cd ~/Python-3.8.11
    make altinstall  >&1|tee make.log
    

    这里执行会很快,输出较多,没截到命令的图,看个结果吧。

    7.添加环境变量

    gedit ~/.bashrc
    

    添加以下内容,其中第一行注释属于个人喜好,可不添加

    #[Python3.8]
    export PATH=$PATH:/usr/local/python/python3.8/bin
    


    让环境变量生效

    source ~/.bashrc
    

    8. 添加和选择python&python3命令指向

    添加命令指向【数值比前面设置的默认指向的优先级100小即可】

    sudo update-alternatives --install /usr/bin/python python /usr/local/python/python3.8/bin/python3.8 38 
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python/python3.8/bin/python3.8 38
    

    选择python命令的默认版本【这里只是查看,按回车即可】

    可以2.7,3.5,3.8,至于选取的问题,随着使用情景不同而有所改变,但使用完最好更换为Ubuntu系统默认的指向(python2.7),此时已经是默认的指向,会自动选取优先级高的。

    sudo update-alternatives --config python
    

    选择python3命令的默认版本【这里只是查看,按回车即可】

    python3一般选择与Ubuntu系统默认的指向3.5,否则无法在启动器栏打开新终端。

    sudo update-alternatives --config python3
    

    这样之后,下面是各命令的启动版本
    python2 ==> python2.7
    python ==> python2.7
    python3 ==> python3.5
    python3.5 ==> python3.5
    python3.8 ==> python3.8

    pip 指向自动跟随 python 的指向
    pip3 指向自动跟随 python3 的指向

    9.pip安装依赖包

    对于python3.8,安装后使用pip请以python3.8 -m pip install xxx的形式使用,同时,对于python3.8的使用,建议明确指明版本来使用,而不建议更改python3的指向,因为Ubuntu的图形界面一定程度上是依赖自带的两个版本的python,更改指向可能会带来意想不到的问题。

    可更新python3.8自带的pip的版本,也可不更新,一般原版的更配,只是新版的进度条更好看,也没有版本更新警告。
    python3.8 -m pip install --upgrade pip  
    如果想切换回原版的
    python3.8 -m pip install --upgrade pip==21.1.1
    
    python3.8 -m pip install flask-socketio
    python3.8 -m pip install numpy -i https://pypi.douban.com/simple/
    python3.8 -m pip install pandas -i https://pypi.douban.com/simple/
    python3.8 -m pip install kafka
    python3.8 -m pip install kafka-python
    


    10.删除安装文件

    cd ~
    sudo rm -r ./Python-3.8.11
    rm -r ./Python-3.8.11.tgz
    
    安装完成后建议重启一次系统
    

    11.卸载方法(安装时无需操作)

    这里给出卸载的命令,如果不需要了,可以进行卸载。

    #1.移除指向
    sudo update-alternatives --remove python /usr/local/python/python3.8/bin/python3.8
    sudo update-alternatives --remove python3 /usr/local/python/python3.8/bin/python3.8
    #2.删除安装目录,对于Linux而言便是卸载
    rm -r /usr/local/python/python3.8
    #3.移除环境变量
    gedit ~/.bashrc
    把上面添加的环境变量内容删除即可
    source ~/.bashrc
    

    三、Python3.7(3.7.9–已测试)

    1.下载源码安装包
    这里选的是Python3.7的3.7.9版,如果下载较慢,可尝试连接手机热点进行下载。如果已准备了安装包,可以跳过该步骤。

    cd ~
    wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
    

    2.创建安装目录
    在上述前期准备中,已经在/usr/local目录下创建了一个python目录,实际上安装时如果没有创建会自动创建。

    cd /usr/local/python
    mkdir ./python3.7
    

    3.解压安装包

    cd ~
    tar -xf ~/Python-3.7.9.tgz
    

    4.配置将要安装的目录

    cd ~/Python-3.7.9
    ./configure prefix=/usr/local/python/python3.7 --enable-optimizations
    

    5.编译源码
    3.7的编译时间相比其他版本会更长,耐心等待。。。。

    cd ~/Python-3.7.9
    make -j 2
    

    6.安装
    一定要使用altinstall,看过的教程有说明过使用install会覆盖安装,可能会导致Ubuntu崩溃的情况。

    cd ~/Python-3.7.9
    make altinstall  >&1|tee make.log
    

    7.添加环境变量

    gedit ~/.bashrc
    

    添加以下内容,其中第一行注释属于个人喜好,可不添加

    #[Python3.7]
    export PATH=$PATH:/usr/local/python/python3.7/bin
    

    让环境变量生效

    source ~/.bashrc
    

    8. 添加和选择python&python3命令指向
    添加命令指向【数值比前面设置的默认指向的优先级100小即可】

    sudo update-alternatives --install /usr/bin/python python /usr/local/python/python3.7/bin/python3.7 37 
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python/python3.7/bin/python3.7 37
    

    选择python命令的默认版本【这里只是查看,按回车即可】
    *号指向应当是Ubuntu系统默认的指向(python2.7

    sudo update-alternatives --config python
    

    选择python3命令的默认版本【这里只是查看,按回车即可】
    *号指向应当是Ubuntu系统默认的指向(python3.5

    sudo update-alternatives --config python3
    

    python3.7的启动命令
    python3.7 ==> python3.7

    9.pip安装依赖包
    对于python3.7,安装后使用pip请以python3.7 -m pip install xxx的形式使用,同时,对于python3.7的使用,建议明确指明版本来使用,而不建议更改python3的指向,因为Ubuntu的图形界面一定程度上是依赖自带的两个版本的python,更改指向可能会带来意想不到的问题。

    可更新python3.7自带的pip的版本,也可不更新,一般原版的更配,只是新版的进度条更好看,也没有版本更新警告。
    python3.7 -m pip install --upgrade pip  
    如果想切换回原版的
    python3.7 -m pip install --upgrade pip==20.1.1
    
    python3.7 -m pip install flask-socketio
    python3.7 -m pip install numpy -i https://pypi.douban.com/simple/
    python3.7 -m pip install pandas -i https://pypi.douban.com/simple/
    python3.7 -m pip install kafka
    python3.7 -m pip install kafka-python
    

    10.删除安装文件

    cd ~
    sudo rm -r ./Python-3.7.9
    rm -r ./Python-3.7.9.tgz
    
    最好进行一次系统重启
    

    11.卸载方法(安装时无需操作)
    这里给出卸载的命令,如果不需要了,可以进行卸载。

    #1.移除指向
    sudo update-alternatives --remove python /usr/local/python/python3.7/bin/python3.7
    sudo update-alternatives --remove python3 /usr/local/python/python3.7/bin/python3.7
    #2.删除安装目录,对于Linux而言便是卸载
    rm -r /usr/local/python/python3.7
    #3.移除环境变量
    gedit ~/.bashrc
    把上面添加的环境变量内容删除即可
    source ~/.bashrc
    

    四、Python3.9(3.9.13–已测试)

    1.下载源码安装包
    这里选的是Python3.9的3.9.13版,如果下载较慢,可尝试连接手机热点进行下载。如果已准备了安装包,可以跳过该步骤。

    cd ~
    wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
    

    2.创建安装目录
    在上述前期准备中,已经在/usr/local目录下创建了一个python目录,实际上安装时如果没有创建会自动创建。

    cd /usr/local/python
    mkdir ./python3.9
    

    3.解压安装包

    cd ~
    tar -xf ~/Python-3.9.13.tgz
    

    4.配置将要安装的目录

    cd ~/Python-3.9.13
    ./configure prefix=/usr/local/python/python3.9 --enable-optimizations
    

    5.编译源码

    cd ~/Python-3.9.13
    make -j 2
    

    6.安装

    cd ~/Python-3.9.13
    make altinstall  >&1|tee make.log
    

    7.添加环境变量

    gedit ~/.bashrc
    

    添加以下内容,其中第一行注释属于个人喜好,可不添加

    #[Python3.9]
    export PATH=$PATH:/usr/local/python/python3.9/bin
    

    让环境变量生效

    source ~/.bashrc
    

    8. 添加和选择python&python3命令指向
    添加命令指向【数值比前面设置的默认指向的优先级100小即可】

    sudo update-alternatives --install /usr/bin/python python /usr/local/python/python3.9/bin/python3.9 39 
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/python/python3.9/bin/python3.9 39
    

    选择python命令的默认版本【这里只是查看,按回车即可】
    *号指向应当是Ubuntu系统默认的指向(python2.7

    sudo update-alternatives --config python
    

    选择python3命令的默认版本【这里只是查看,按回车即可】
    *号指向应当是Ubuntu系统默认的指向(python3.5

    sudo update-alternatives --config python3
    

    python3.9的启动命令 python3.9

    9.pip安装依赖包
    对于python3.9,安装后使用pip请以python3.9 -m pip install xxx的形式使用,同时,对于python3.9的使用,建议明确指明版本来使用,而不建议更改python3的指向,因为Ubuntu的图形界面一定程度上是依赖自带的两个版本的python,更改指向可能会带来意想不到的问题。

    可更新python3.9自带的pip的版本,也可不更新,一般原版的更配,只是新版的进度条更好看,也没有版本更新警告。
    python3.9 -m pip install --upgrade pip  
    如果想切换回原版的
    python3.9 -m pip install --upgrade pip==22.0.4
    
    python3.9 -m pip install flask-socketio
    python3.9 -m pip install numpy -i https://pypi.douban.com/simple/
    python3.9 -m pip install pandas -i https://pypi.douban.com/simple/
    python3.9 -m pip install kafka
    python3.9 -m pip install kafka-python
    

    10.删除安装文件

    cd ~
    sudo rm -r ./Python-3.9.13
    rm -r ./Python-3.9.13.tgz
    
    最好进行一次系统重启
    

    11.卸载方法(安装时无需操作)
    这里给出卸载的命令,如果不需要了,可以进行卸载。

    #1.移除指向
    sudo update-alternatives --remove python /usr/local/python/python3.9/bin/python3.9
    sudo update-alternatives --remove python3 /usr/local/python/python3.9/bin/python3.9
    #2.删除安装目录,对于Linux而言便是卸载
    rm -r /usr/local/python/python3.9
    #3.移除环境变量
    gedit ~/.bashrc
    把上面添加的环境变量内容删除即可
    source ~/.bashrc
    

    对于Python的其他版本,安装方法都基本类似,只需要更改对应的版本号即可。
    
    物联沃分享整理
    物联沃-IOTWORD物联网 » Ubuntu16.04安装Python3.8,3.7,3.9(含卸载方法,支持多版本共存)

    发表评论