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
html
说明: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 uninstall
。curl
安装好以后,输入python3
便可使用,pip3
也能够使用。发现机器自己自带的python2
对应的pip
没法使用,因而从新安装一下pip
:优化
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py