转载自:https://blog.csdn.net/qq_27825451/article/details/100034135

  1. 可能使用到的依赖(都下载吧)
    sudo tazpkg -gi make gcc cmake zlib-dev bzip2 bzip2-dev readline-dev sqlite-dev openssl-dev xz-dev libffi-dev
  2. wget你想下的版本链接
    如果想换其他版本可以去 https://www.python.org/ftp/python/ 上找
    wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz
  3. 解压文件Python-3.9.5.tgz.xz
    tar -xzvf  Python-3.9.5.tgz
    tar -xzvf  Python-X.X.X.tgz

    解压后或出现上图的Python-3.7.5文件夹

  4. 进入你解压后的文件夹
    cd Python-3.9.5
  5. 配置安装路径, 默认安装路径是usr/bin,但由于已自带python2,使用默认路径会产生冲突,故需要安装在另外的位置
    configure的作用是利用这个configure的脚本来查看你的linux的运行环境。然后生成一个Makefile文件,你就可以通过makefile文件编译你的项目了。
    ./configure --prefix=/usr/bin (默认路径)
    ./configure --prefix=/usr/local (绝对路径)
    ./configure --prefix=/usr/python
    源码的安装一般由3个步骤组成:
    配置(configure)、编译(make)、安装(make install)。
    Configure是一个可执行脚本,它有很多选项
    在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
    其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin
    库文件默认放在/usr/local/lib
    配置文件默认放在/usr/local/etc
    其它的资源文件放在/usr /local/share,比较凌乱。
    如果配置--prefix,如:
    ./configure --prefix=/usr/local/test
    可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
  6. 编译安装
    make实际就是编译源代码,按照上一步生成makefile文件进行编译,并生成执行文件。
    make install实际上是把生成的执行文件拷贝到之前configure命令指定的目录/usr/local/python3下。
    make
    make install
  7. 建立python3的软链
    当然像ubuntu中已经有了python3,我们可以取一个别的名字
    ln -s /usr/python/bin/python3  /usr/bin/python3
    ln -s /usr/python/bin/pip3 /usr/bin/pip3
  8. 将/usr/local/python3/bin加入PATH
    这里是将安装的python添加到了整个系统的全局环境变量里面,我们也可以之添加到自己所在的用户的环境变量。
    sudo vim /etc/profile #全局的
    vim .bashrc           #自己用户的

    然后在文件末尾添加

    export PATH=$PATH:/usr/python/bin

    按ESC,输入:wq回车退出。
    修改完后,还需要让这个环境变量在配置信息中生效,执行命令:

    source /etc/profile   #或者是
    source .bashrc

    可以让profile文件或者是.bashrc立即生效。
    第七步:测试是否安装成功

    $ python3 -V
    Python 3.6.9
  9. 关于python的configure文件详解
    ./configure 命令执行完毕之后创建一个文件creating Makefile,供下面的make命令使用 执行 make install 之后就会把程序安装到我们指定的目录中去。
    Configure是一个可执行脚本(本质),它有很多选项,在待安装的源码路径下使用命令
    ./configure --help  #或者是
    ./configure –h

    输出详细的选项列表。
    在这里只重点说一下如何指定python的安装路径,因为我们需要使用某一个版本的安装路径,最好是将整个python安装到同一个文件夹之下肯定是最方便管理,但是默认的安装却并不是这样子。
    如果不配置该选项,直接使用默认的操作,安装后

    可执行文件默认放在/usr /local/bin,
    库文件默认放在/usr/local/lib ,
    配置文件默认放在 /usr/local/etc ,
    其它的资源文件放在/usr /local/share ,
    软件包和模块放在/usr/local/python3/lib/python3.6/ 目录之下

    通过 ./configure --prefix=""配置安装路径
    --prefix 选项是配置安装的路径,如果配置 --prefix,如:./configure --prefix=/usr/local/test 可以把所有资源文件放在/usr/local/test的路径中,不会杂乱,方便管理,卸载等等。
    用了 --prefix 选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
    当然要卸载程序,也可以在原来的make目录下用一次 make uninstall,但前提是make文件指定过uninstall。