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-develhtml

说明:python

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官网下载sql

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优化选项bootstrap

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

编译

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

安装

make install

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

环境配置

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 uninstallcurl

补充

安装好以后,输入python3便可使用,pip3也能够使用。发现机器自己自带的python2对应的pip没法使用,因而从新安装一下pip优化

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

参考:

相关文章
相关标签/搜索