CentOS 源码编译安装 Python3

Posted Michael翔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 源码编译安装 Python3相关的知识,希望对你有一定的参考价值。

准备

yum -y install wget gcc make libffi-devel zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel

说明:

yum install wget gcc make readline-devel
# 解决 import bz2 报错
yum install  bzip2-devel
# 解决 import curses 报错
yum install  ncurses-devel
# 解决 import sqlite3 报错
yum install sqlite-devel
# 解决 _dbm _gdbm 缺失提醒
yum install gdbm-devel
# 解决 _lzma 缺失提醒
yum install xz-devel
# 解决 _tkinter 缺失提醒
yum install tk-devel
# 解决 readline 缺失提醒及方向键行为非预期的问题
yum install readline-devel
yum install zlib-devel
# 解决ImportError: No module named \'_ctypes\' 错误
yum install libffi-devel

Python官网下载

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz # 下载
xz -d Python-3.7.1.tar.xz
tar -xvf Python-3.7.1.tar # 解压缩

过程

配置

cd Python-3.7.1
./configure --prefix=/usr/local/python3.7 --enable-optimizations

--prefix指定了预期安装目录
--enable-optimizations优化选项

生成了Makefile文件,这个过程不会自动创建/usr/local/python3.7目录。

编译

# 依然在Python-3.7.1目录下
make -j8

安装

make install

/usr/local/python3.7目录被创建了,执行安装。

环境配置

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

卸载

如果养成好的习惯,使用了--prefix参数,那么仅需要删除对应文件夹,去除相关环境变量即可。否则需要进入源码的src文件夹下,执行make uninstall

补充

安装好之后,输入python3即可使用,pip3也可以使用。发现机器本身自带的python2对应的pip无法使用,于是重新安装一下pip

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

参考:

以上是关于CentOS 源码编译安装 Python3的主要内容,如果未能解决你的问题,请参考以下文章

centos 7 python3.6.6的编译安装

Centos编译安装python3

Python3.6和Django源码编译安装

Linux(Centos)下安装python3

Centos 安装 Python3.8

Centos 安装 Python3.8