一、下载Python3.5的源码包并编译
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
二、解压后进入目录
tar xf Python-3.5.0.tgz
cd Python-3.5.0
三、在编译源码之前先在/usr/local建一个文件夹python3.5(作为python的安装路径,以免覆盖老的版本)
1 |
mkdir /usr/ local /python3.5 |
开始编译安装
1 |
./configure --prefix=/usr/ local /python3.5 |
2 |
make |
3 |
make install |
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
1 |
mv /usr/bin/python /usr/bin/python_old |
再建立新版本python的链接
1 |
ln -s /usr/ local /python3/bin/python3 /usr/bin/python |
这个时候输入
1 |
python |
就会显示出python的新版本信息
1 |
Python 3.1.2 (r312:79147, Oct 21 2012, 01:03:21)) |
2 |
[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2 |
3 |
Type "help" , "copyright" , "credits" or "license" for more information. |
4 |
>>> |
yum需要python2版本,所以我们还要修改yum的配置,执行:
- vim /usr/bin/yum
把 #! /usr/bin/python修改为 #! /usr/bin/python2
同理,也要修改修改 /usr/libexec/urlgrabber-ext-down 文件
- vim /usr/libexec/urlgrabber-ext-down
#! /usr/bin/python 修改为 #! /usr/bin/python2
这样python3版本就安装完成;同时python2也存在
PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。
【ModuleNotFoundError: No module named ‘_ctypes’ make: *** [install] Error 1】解决方式
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
#yum install libffi-devel -y