Linux通过源码编译安装 Python3.8

安装依赖

  • Ubuntu/Debian:

    1
    2
    3
    $ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
    libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
    xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
  • Fedora/CentOS/RHEL(aws ec2):

    1
    2
    $ sudo yum install @development zlib-devel bzip2 bzip2-devel readline-devel sqlite \
    sqlite-devel openssl-devel xz xz-devel libffi-devel findutils

下载 Python3.8 源码包

1
$ curl -O https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tar.xz

编译安装 Python3.8

首先解压源码包

1
$ tar -Jxvf Python-3.8.1.tar.xz

编译安装

1
2
3
$ ./configure --prefix=/usr/local/python3 --enable-optimizations
$ make
$ make install

注:--enable-optimizations 配置项用于提高 Python 安装后的性能,使用会导致编译速度稍慢

添加软连接

1
2
$ ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
$ ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

命令行输入 python3 -V 查看是否安装成功。

注意

  1. 本文是以 Python3.8.1 为例,如果安装其他版本可参考更改文中的 Python 下载地址,相关命令也需按需更改。
  2. 文中使用的命令如果出现权限不够请自行加上 sudo

参考

  1. Common build problems · pyenv/pyenv Wiki · GitHub
  2. CentOS 7 下 安装 Python3.7 - 个人文章 - SegmentFault 思否
给我加个菜?