Linux上编译安装Python3

实验环境

  • OS: CentOSUbuntu
  • Arch: x86_64
  • Python3.7.7

相关网址

  • Python官网Download
  • PIP安装指导

安装指导

Ubuntu系统

  • 安装依赖包:
1
apt install -y build-essential libtool libreadline-dev zlib1g-dev openssl libssl-dev libbz2-dev libffi-dev libc6-dev libncursesw5-dev libgdbm-dev tk-dev libsqlite3-dev

CentOS系统

  • 安装依赖包:
1
yum install -y gcc gcc-c++ make automake autoconf bzip2 readline readline-devel ncurses-devel zlib zlib-devel openssl openssl-devel sqlite-devel

CentOS/Ubuntu系统

  • 查看GCC的版本信息:
1
gcc --version
  • 解压源码包:
1
2
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
tar -zxf Python-3.7.7.tgz
  • 编辑配置文件:
1
2
cd Python-3.7.7/
vim Modules/Setup.dist
  • 取消下面的注释行:
1
2
3
4
5
6
SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
  • 预编译:
    <prefix>:用于指定安装目录。
    enable-optimizations:启用优化选项(LTOPGO等),但是需要耐心等待编译。
1
./configure --enable-optimizations --prefix=/usr/local/python3.7.7
  • 编译并安装(多进程编译):
1
make -j 4 && make install
  • 创建命令的软链接:
1
2
ln -sf /usr/local/python3.7.7/bin/pip3.7 /usr/bin/
ln -sf /usr/local/python3.7.7/bin/python3.7 /usr/bin/

PIP包管理器

安装PIP

  • 若编译时,未安装PIP,可单独安装PIP
  • 下载get-pip.py文件:
1
wget https://bootstrap.pypa.io/get-pip.py
  • 安装PIP包管理器:
1
python get-pip.py
  • 升级PIP包管理器:
1
pip install -U pip

更改PIP的源

  • 创建并修改配置文件:
1
2
mkdir ~/.pip/
vim ~/.pip/pip.conf
  • 清华大学的PIP源:
1
2
3
4
5
6
7
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000
  • 豆瓣的PIP源:
1
2
3
4
5
6
7
[global]
index-url = https://pypi.doubanio.com/simple/

[install]
trusted-host=pypi.doubanio.com
disable-pip-version-check = true
timeout = 6000

请作者喝瓶肥宅快乐水