https://www.python.org/ftp/python/ 该目录下选择所须要的版本进行下载、解压。python
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz c++
tar -xzvf Python-3.7.1.tgz shell
mkdir /usr/local/python3 ui
config是一个shell脚本,根据平台的特性生成Makefile文件,为下一步的编译作准备。spa
能够经过在 configure 后加上参数来对安装进行控制,好比下面就是指定安装目录/usr/local/python3。code
./configure --prefix=/usr/local/python3 --with-ssl blog
./configure --enable-optimizations --prefix=/usr/local/python3
能够经过 ./configure --help 查看详细的说明帮助。ip
※若是有须要,会进行 make depend(一种makefile的规则,经过扫描一个目录下的全部C\C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include<b.h>),若是以后a.cc文件被改动,那么只须要从新编译a.cc文件,不须要编译b.h文件。不然全部的文件都须要从新编译)ssl
从Makefile中读取指令,根据makefile制定的规则,将c\c++文件编译成*.o文件,而后进一步生成可执行文件。大多数的源代码包都通过这一步进行编译,(固然有些perl或python编写的软件须要调用perl或python来进行编译)。开发
make && make altinstall
若是 在make过程当中出现 error ,你就要记下错误代码(注意不单单是最后一行),而后你能够向开发者提交 bugreport(通常在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些须要本身仔细研究错误代码。
删除一些临时文件(删除源代码(C\C++ code)生成的执行文件和全部的中间目标文件)
1 ln -s /usr/local/python3/bin/python3 /usr/bin/python3 2 ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
最后运行python3查看是否安装成功
绝大数开源软件都是公布源代码的,源代码通常被打包为tar.gz归档压缩文件,而后手工编译为二进制可执行文件
兼容性好/可控制性好/开源软件会大量使用其余开源软件的功能,要解决大量的依赖关系
yum install libffi-devel
而后从config开始从新安装
先安装openssl-dev,而后从新编译安装,只是在编译的过程当中加入 --enable-optimizations