以centos7为例:

源码安装python,一般先安装一些devel的包:

yum -y install xz wget gcc make gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel

然后下载源码

解压源码:

    tar -Jxf Python.x.tar.xz

cd Pyhton.x

./configure

    这里有一些选项,--bindir: 安装完成后which python所在的路径

    --prefix是指安装python的路径的前缀, 比如: 不指定就是/usr/local

    完成后生成Makefile文件,如果直接./configure,python会安装在

    /usr/local/lib/python27下

但是如果我要想安装在任意路径呢?

Makefile有如下行, 修改 这个就可以

LIBDEST=        $(SCRIPTDIR)/python$(VERSION)

还有任何时候都不要覆盖安装操作系统自带的python, 因为有些基础设施用到了python, 比如: yum