CentOS 7上默认安装的python版本是2.7.5,系统自带的旧版本python被系统很多其他软件环境依赖,因此不能卸载原Python,直接选择Python3.6.5进行全新安装。
1 安装Python3.6可能使用的依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++
2 安装Python3.6.5
1、下载python3.6.5的Linux安装包
https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
2、使用root权限打开终端,进行解压缩操作
tar -zxvf Python-3.6.5.tgz
将目录进行重命名
mv Python-3.6.5 python3.6
3、修改Setup文件,启动ssl模块
vi /opt/python3.6/Modules/Setup.dist
#修改结果如下:
# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c
# Socket module helper for SSL support; you must comment out the other# socket line above, and possibly edit the SSL variable:
SSL=/usr/local/ssl
_ssl _ssl.c
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl
-L$(SSL)/lib -lssl -lcrypto
4、编译安装包,指定安装目录,进入python3.6目录,执行
cd /opt/python3.6
./configure --with-ssl --prefix=/opt/python3.6 # 目录/opt/python3.6可以根据自己的喜好随意选择,此目录为python的真正安装目录
在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,刚好pip3过程需要ssl模块
5、确认无误后,进入安装目录,执行编译
[root@localhost python3.6]# make
[root@localhost python3.6]# make install
6、以上步骤执行完成,python3.6基本安装完成;因为系统自带的是python2.7.5,直接执行python命令,所进入默认的python2.6.6的环境;
7、新建软连接,指向新安装的python3.6.5
ln -s /opt/python3.6/bin/python3.6 /usr/bin/python3
8、/usr/bin/python3 此处路径不要覆盖 /usr/bin/python,否则可能会导致系统其它相关依赖命令无法使用
9、所以安装好Python后直接创建一个软连接指向python的pip就可以了,注意,一定要指向pip3,其他的还是会报错
ln -s /opt/python3.6/bin/pip3 /usr/bin/pip
默认Python2是不带有pip的
10、为了不影响Python2的pip的功能(默认Python2是不带有pip的),新建软连接的时候,可以指向pip2
ln -s /opt/python3.6/bin/pip3 /usr/bin/pip3